我在tomcat / webapps下有两个应用程序,而appOne试图在appTwo子文件夹中查找资源。
我在logs / catalina.out中看到Tomcat找不到资源/pages/templates/email-message.xhtml(它确实存在于appOne子文件夹下)。
错误日志:
com.sun.faces.lifecycle.InvokeApplicationPhase.execute#{action.sendEmail}:java.lang.IllegalArgumentException:资源不存在:/pages/templates/email-message.xhtml
如果我将资源appOne / pages / templates / email-template.xhtml复制到appTwo / pages / templates /(我实际上还有其他模板),Tomcat将找到该资源。
我该怎么办?
[编辑1]:
答案 0 :(得分:0)
我想这是为什么要在另一个应用程序中使用的问题。 他们俩都使用它,还是只是在错误的应用程序中?
如果在错误的应用程序中,请将其移动。
如果两者都使用,则至少有两个选择。
简单的答案是将模板复制到缺少模板的应用程序中。
潜在的缺点是您现在有两个模板副本,并且如果需要保持它们相同,则将面临维护方面的挑战。
不太容易的答案是找出一种方法,使一个应用程序访问另一应用程序的资源。在功能完善的Java EE服务器中,您可以将两个应用程序捆绑到一个.ear文件中,并提供对另一个应用程序的访问权限,但是Tomcat不支持.ear文件...
如果只是一个文件,我将其复制。 但是请注意项目-如果您开始需要处理大量文件(无论您对“批次”的定义是什么),那么您应该找出一种共享资源的方法。