java - class.getResource 返回我的文件的错误路径

标签 java eclipse maven-2

我想使用 Velocity 来模板化我的电子邮件,但我很难给出我的模板的正确路径:“template.vm”,位于我的 maven 创建的资源文件夹中。

我使用了: class.getResource("template.vm").getPath => 但 getResource retruns null 这是逻辑原因,因为我知道在这种情况下 template.vm 应该位于类的同一个包中,并且我的模板.vm 位于 WEB-INF/classes

所以我使用:class.getResource("/template.vm").getPath,但它返回错误的路径,在我的例子中,template.vm的路径是:D:/folderOne/FolderTwo/WEB-INF/classes/template.vm 和 getResource 重新运行:/D:/folderOne/FolderTwo/WEB-INF/classes/template.vm 是什么让速度类抛出:无法找到给定路径的资源:/D:/folderOne/FolderTwo/WEB-INF/classes/template.vm

我已经在这个小问题上苦苦挣扎了一天多了,请帮忙。

最佳答案

您应该使用ClassPathResourceLoader而不是FileResourceLoader为了你的速度。如果您使用它,只需调用 VelocityEngine.getTemplate("template.vm") 即可。

关于java - class.getResource 返回我的文件的错误路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17476137/

相关文章:

java - 向客户端发送文件时出现棘手的 NullPointerException

java - AlertDialog SingleChoiceItems 不起作用

java - 是否有一种可移植的方法来获取 Maven 项目中资源的路径?

tomcat - 使用 Maven 进行在线开发的标准方法

java - 通过 Scanner 输入在 Java 中获取多个值

java - 足够安全吗?

java - 在java中模拟按键以将用户输入写入另一个应用程序

Eclipse 删除运行配置中的 -nosuperDevMode 参数

maven-2 - 清理旧缓存组件的 Nexus 存储库

Java-旋转数组