尝试使用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]
文件肯定存在于那个确切的路径中,因为目录列表将确认,所以这不是我不相信的路径问题。
非常感谢任何见解。谢谢!