org.apache.velocity.exception.ResourceNotFoundException

时间:2009-08-23 06:02:34

标签: java templates email velocity

我正在使用速度引擎模板在struts1和hibernate配置中进行邮件发送。

我在尝试发送邮件时遇到错误:org.apache.velocity.exception.ResourceNotFoundException

我已经包含了velocity1.5.jar,mail.jar,activation.jar,smtp.jar。

我在这里包含了速度模板路径

String velocityTemplate = "mailTemplate/sendMail.vm";

并且mailTemplate文件夹位于WEB-INF/classes文件夹

代码执行此行时出现错误

Template template = velocityEngine.getTemplate(velocityTemplate);

任何人都可以帮我解决这个问题吗?

如果有人帮助我,那将会更加明显。

3 个答案:

答案 0 :(得分:5)

正如BenM所说,我们必须将Resource Loader配置为ClasspathResourceLoader

velocityEngine.setProperty("resource.loader", "class");
velocityEngine.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"));

velocityEngine.init();

我刚刚添加了以下jar的最新版本。现在它正常运作。

- >公地集合-3.2.1.jar

- >公地琅-2.4.jar

再次感谢BenM

答案 1 :(得分:1)

确保已在VelocityEngine上调用init()。

检查您是否已将Resource Loader配置为ClasspathResourceLoader。有关详细信息,请参阅Velocity docs

对于旧版Velocity课程,您需要执行以下操作:

Velocity.setProperty("resource.loader", "class");
Velocity.init();

答案 2 :(得分:0)

正在努力解决同样的问题,最终解决了它。

  • 模板文件需要位于类路径中。
  • velocity.properties文件与init()之前的设置不冲突。
  • 并且您的项目周围没有多个不同版本的罐子。