当前位置: 首页 > 知识库问答 >
问题:

如果部署在ear文件中,ActionServlet无法访问struts-config.xml

郎仰岳
2023-03-14

< br >

我正在将JavaEE项目从Sun Application Server 9.1迁移到Glassfish 3.1.2。该项目具有以下结构:

ear
|-/lib/someProject。jar(由confictEJB和EJB使用)
|-confictEJB。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 的 DOCTYPE 中引用本地 DTD.xml
  • struts-config 的一般语法验证.xml -

战争项目的结构:

webProj.war
| -一些东西(图片、css、js等)< br> | - META-INF
| - WEB-INF

有没有人知道缺少什么,或者我可以在哪里检查任何进一步的配置?非常感谢任何帮助!谢谢大家!

共有1个答案

柴耀
2023-03-14

好吧,这给了我解决方案的提示:Maven - 创建瘦WARs

我必须将wars WEB-INF/lib文件夹中的每个lib放到ears lib文件夹中才能找到。这意味着——如Maven页面所述——我必须将war使用的所有依赖项的范围设置为< code >

所以耳朵包装必须是这样的:< br >


| - /库

 类似资料:
  • 我有一个Spring启动Rest服务项目,它在我的本地机器上工作。当我运行应用程序为"Spring Boot App" 我可以通过转到访问rest服务 http://127.0.0.1:8080/persons/all 它返回JSON,因为它应该。 我换了pom。xml打包到war,然后我创建了一个war,作为- war文件名为“myapp-0.0.1-SNAPSHOT.war”,上传后,我试图通

  • 我有一个应用程序,其中有以下模块ct-ejb(ejb)ct-rest(war)ct-web(war)ct-ear(ear) 我正在尝试构建一个EAR文件,并将其部署到intellij中的JBOSS应用服务器。我的申请。xml如下所示。我从ct那里得到的。ear模块- 问题是,我在将ear部署到服务器时遇到异常。它清楚地表明“未找到模块文件ct-web.war…”但ct网络。目标文件夹中存在war。

  • 我想使用wslt命令从命令行将war/ears文件部署到weblogic服务器。任何人都可以帮助解决这个问题。我需要命令来解决这个问题。

  • 我在Jboss 7.0中部署了一个EJB。 当我运行该服务时,客户端无法找到该服务。 谁能告诉我我在这里遗漏了什么?我在stackoverflow中看到了很多类似主题的线程,但没有一个对我有帮助!!

  • 我使用maven原型“org.jboss.spec.archetypes:jboss-javaee6-webapp-ear-archetype”生成代码。我启动了JBoss7,然后尝试从project root进行部署。 包装成功了。 非常感谢! 这是我打包后的项目结构(部分省略)

  • 我一直试图在WildFly8.1上部署一个使用Hibernate3.6的应用程序。 我的应用程序是一个EAR,它由一个war和EJB.jar组成。在试用了其他几个东西之后,我发现了这个看起来很有前途的解决方案:https://developer.jboss.org/message/882769 根据这个解决方案,我已经为Hibernate3.6指定了正确的提供程序,并在lib目录中包含了所需的所有