繁体   English   中英

org.apache.velocity.exception.ResourceNotFoundException:无法找到资源“模板/电子邮件/test.vm”

[英]org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/email/test.vm'

我的代码如下。

VelocityEngine ve = new VelocityEngine();
        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "class");
        ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        ve.init();
        Template tempalte = ve.getTemplate("templates/email/test.vm");

我收到以下错误。

org.apache.velocity.exception.ResourceNotFoundException:无法在org.apache.velocity的org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:452)上找到资源'templates / email / test.vm' .runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:335)在org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1102).....

“模板”文件夹在我的src文件夹中。

如果我将速度模板文件直接放入src文件夹并更新为“ Template tempalte = ve.getTemplate(“ test.vm”);“ 有用。

我正在使用Mac OS,Java 1.8,Eclipse Neon。

请帮我解决这个问题。

感谢和问候,IsuruJ

尝试设置以下变量并检查它是否可以正常工作

ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "class,file");
        ve.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, "org.apache.velocity.runtime.log.Log4JLogChute");
        ve.setProperty("runtime.log.logsystem.log4j.logger", "VELLOGGER");
        ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
        ve.setProperty("runtime.log.logsystem.class", "org.apache.velocity.runtime.log.NullLogSystem");

而且您的力度文件应位于resources文件夹下

上面的方式我有我的项目,如果那不能正常尝试

我相信您的文件夹结构如/src/main/java/com/xyz/email/velocity/.

ve.velocityEngine.setProperty(RuntimeConstants.RESOURCE_LOADER,"classpath");
  ve.velocityEngine.setProperty("classpath.resource.loader.class",ClasspathResourceLoader.class.getName())

几个问题可能会导致它

  1. 模板文件夹是速度的根源,因此删除它可能会起作用

    ve.getTemplate(“ / email / test.vm”);

  2. Windows将忽略的大写文件为:找不到文件夹电子邮件或文件Test.vm

  3. 如果用户不是所有者,则不允许读取新文件夹/文件的权限

谢谢你的时间。 这是一个ANT项目。 我错误地无法编写脚本将模板文件夹复制到WEB-INF / classes文件夹。 那就是问题所在。 @ user7294900和@soorapadman都是正确的。 该代码现在可以使用。

不便之处,敬请原谅。

最好的问候,IsuruJ

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM