在Jetty中使用WAR部署的Scalatra中的Scalate模板抛出ResourceNotFoundException

时间:2011-11-11 22:14:28

标签: scala jetty war scalate scalatra

尝试使用scalate模板发送电子邮件时,会抛出资源未找到的异常(参见下文)。最初我认为这是一个路径问题,因为在它的工作文件的开发环境中,但是将WAR部署到jetty会导致这些异常。

com.mysite.api.util.mail.EmailActor@324f0f97: caught org.fusesource.scalate.util.ResourceNotFoundException: Could not load resource: [/WEB-INF/scalate/templates/email-forgotpassword.ssp]

org.fusesource.scalate.util.ResourceNotFoundException: Could not load resource: [/WEB-INF/scalate/templates/email-forgotpassword.ssp]

经过多次尝试实际获取码头以在正确的位置寻找模板后,这有效:

val dir = this.getClass.getClassLoader().getResource("/").toExternalForm() + "../scalate/"

但我仍然得到这个例外:

org.fusesource.scalate.util.ResourceNotFoundException: Could not load resource: [file:/var/cache/jetty/data/Jetty__8080_mysite_api_2.9.1.0.1.war__api__.1q1r37/webapp/WEB-INF/classes/../scalate/templates/email-forgotpassword.ssp]

文件肯定存在于那个确切的路径中,因为目录列表将确认,所以这不是我不相信的路径问题。

非常感谢任何见解。谢谢!

0 个答案:

没有答案