【发布时间】:2018-11-01 20:25:27
【问题描述】:
让我澄清一下我目前的做法。我有一个 maven 项目,包架构如下所示:
src/main/java/com/gearon/app/App.java
src/main/java/com/gearon/app/configuration/Config.java
src/main/java/com/gearon/app/datamodel/*.java
我尝试使用以下代码在 Config.java 中设置加载模板的目录:
cfg = new Configuration();
cfg.setClassForTemplateLoading(Config.class, "/templates");
cfg.setDefaultEncoding("UTF-8");
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
我已将模板放在 src/main/java/com/gearon/app/templates 下
架构是src/main/java/com/gearon/app/templates/*.ftl
如果我直接使用 main 方法运行代码,它工作正常。但是,当我将项目打包到 jar 中时,它无法加载模板,并且错误如下所示:
java.io.FileNotFoundException: Template "index.ftl" not found.
我想知道把这些模板放在哪里。
【问题讨论】:
-
与您的问题无关,但您使用的是旧的 FreeMarker 版本(我从错误消息中看到)。较新的有更多有用的错误消息等。
-
@ddekany 谢谢。我想在将来升级它。
标签: java maven freemarker