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

时间:2013-07-04 18:10:02

标签: java eclipse maven-2

我想使用Velocity来模拟我的电子邮件,但我努力为我的模板提供正确的路径:“template.vm”在我的资源文件夹中由maven创建。

我用过:class.getResource(“template.vm”)。getPath =>但getResource重新为null,因为我知道template.vm应该在类的同一个包中,而我的template.vm在WEB-INF / classes上

所以我使用了:class.getResource(“/ template.vm”)。getPath,但它返回了错误的路径,在我的例子中,template.vm的路径是:D:/ folderOne / FolderTwo / WEB-INF / classes / template.vm和getResource retruns:/D:/folderOne/FolderTwo/WEB-INF/classes/template.vm使velocity类抛出的原因:无法找到具有给定路径的资源:/ D:/ folderOne / FolderTwo / WEB-INF /类/ template.vm

我现在正在努力解决这个小问题,请帮忙。

1 个答案:

答案 0 :(得分:1)

你应该使用ClassPathResourceLoader代替FileResourceLoader来获得你的速度。如果您使用它,只需拨打VelocityEngine.getTemplate("template.vm")

即可