我正在尝试使用 FreeMarker 为在我的应用程序中工作的不同代理生成报告。我在网上查看,但如果模板不在我的项目的资源文件夹中,是否可以加载模板,我找不到任何地方。当我的应用程序从我尝试使用的 *.jar 文件运行时:
public ReportTemplate(final String template_path)
throws TemplateException, IOException {
CFG.setDirectoryForTemplateLoading(new File("."));
CFG.setDefaultEncoding("UTF-8");
template = CFG.getTemplate(template_path);
}
然后在我传递模板的conf文件中:
parameters: {
report: /../test.ftl
}
*.jar 文件和模板在同一个文件夹中,但据我了解,我首先需要退出 jar 文件,然后去获取模板。我想知道是否有一种简单的方法可以为 FreeMarker 加载模板,而无需将它们放在我项目的 /resources/ 文件夹中(这样当其他人使用该应用程序时,他可以设计自己的模板并将其复制到文件夹中)。我也不想使用硬编码路径,例如“/tmp/”,这就是我使用“.”的原因。当前位置路径。