У меня есть приложение весенней загрузки (версия 2.2.5.RELEASE), которое упаковано в файл jar:
Я использую Freemarker (версия 2.3.29) для создания шаблона html, пожалуйста, найдите моя конфигурация ниже:
@Configuration
public class EmailFreemarkerConfig {
@Primary
@Bean
public FreeMarkerConfigurationFactoryBean getFreeMarkerConfig() {
FreeMarkerConfigurationFactoryBean bean = new FreeMarkerConfigurationFactoryBean();
bean.setTemplateLoaderPath("/templates/");
return bean;
}
Пожалуйста, найдите мой файл pom. xml, который включает расширение файла ftl:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.csv</include>
<include>**/*.vm</include>
<include>**/*.jpg</include>
<include>**/*.ftl</include>
</includes>
</resource>
</resources>
Когда я упаковал свой флягу, я могу найти файл в следующем путь: BOOT-INF / classes / templates / file12.ftl
Пожалуйста, найдите ниже код, который я генерирую html файл:
@Autowired
private Configuration freemarkerConfig;
.....
try {
t = freemarkerConfig.getTemplate("file12.ftl");
html = FreeMarkerTemplateUtils.processTemplateIntoString(t, model);
} catch (IOException | TemplateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
.... Когда я выполняю jar от следующей команды:
java -jar test-batch-0.0.2-SNAPSHOT.jar
Отображается следующее исключение:
freemarker.template.TemplateNotFoundException: Template not found for name "file12.ftl"
Когда я выполняю ту же кодовую базу в интеграционном тесте на Eclipse, она работает нормально.
Любая идея, что мне здесь не хватает, пожалуйста?