关于我目前的做法,请参阅此主题。它在一段时间内运行良好,我认为所有问题都已解决。但是,当我在不同的文件夹中构建 jar 时,会抛出“找不到模板 index.ftl”。我jar xf xxx.jar用来解压目标jar,发现templates文件夹下的*.ftl已经被压缩到那个jar里了。我在这里尝试将以下配置添加到 pom.xml 中的解决方案,但没有奏效。<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>libs/</classpathPrefix> <mainClass>com.gearon.app.App</mainClass> </manifest> </archive> <includes> <include>**/*.class</include> <include>**/*.jdo</include> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.ftl</include> </includes> </configuration></plugin>OP还说:更好的是,我完全删除了配置标签,它仍然有效。我认为这是在我发现 .properties 文件和我在类路径上需要的其他东西需要在 src/main/resources 而不是 src/main/java 之前的残余我想尝试将模板/xxx.ftl 放在 src/main/resources 而不是 src/main/java/com/gearon/app/templates/*.ftl。但是加载模板的方式应该改变吧?目前,它是 cfg.setClassForTemplateLoading(Config.class, "/templates");那么问题来了,怎么改呢?或者,如果我上面的理解完全错误,那么将模板放入 jar 并确保该 jar 中的类可以找到这些模板的最佳做法是什么?
1 回答
![?](http://img1.sycdn.imooc.com/545868190001d52602200220-100-100.jpg)
Qyouu
TA贡献1786条经验 获得超11个赞
Maven 提交者在这里...
你所做的完全是错误的,你违反了惯例。它说所有必须在运行时类路径中可用的资源必须驻留在src/main/resouces
. 无需进一步配置。我强烈建议这样做。在你的情况下:src/main/resources/templates
你就完成了。没有<includes />
在JAR插件必要的。
添加回答
举报
0/150
提交
取消