我正在将一个 JavaEE 项目从 Sun Application Server 9.1 迁移到 Glassfish 3.1.2。该项目具有以下结构:
耳朵
| - /lib/someProject.jar(由 confictEJB 和 EJB 使用)
| - 冲突EJB.jar
| - EJB.jar
| - webProj.war
罐子和耳朵是用 Maven 构建的。问题是,这在 SAS 9.1 和 Glassfish 2.1 中部署没有错误。但在 Glassfish 3.2.1 中,我收到此错误:
#|2012-04-23T13:44:29.562+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=34;_ThreadName=Thread-2;|WebModule[/ArchiveTool]PWC1396: Servlet /ArchiveTool threw load() exception
javax.servlet.UnavailableException: Parsing error processing resource path /WEB-INF/struts-config.xml
at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:739)
at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:715)
at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
看起来 ActionServlet 无法解析/找到 GF3.2.1 中的 struts-config.xml。到目前为止我做了什么:
- 在 struts-config.xml 的 DOCTYPE 中引用了本地 DTD
- struts-config.xml 的一般语法验证 -> 没有错误
- 根据 DTD 验证 struts-config.xml -> 没有错误
- 将 webProj.war 独立部署到 Glassfish -> 部署没有错误
战争项目的结构:
webProj.war
| - 一些东西(图像、css、js 等)
| - 元信息
| - 网络信息
| -库
| - struts.jar (an others)
| - struts-config.xml
| - struts-config_1_2.dtd
| - glassfish-web.xml
| - web.xml
有谁知道缺少什么或我可以在哪里检查任何进一步的配置?任何帮助是极大的赞赏!谢谢!