在 JBOSS 6 EAP 中部署一个在 JBOSS AS 5 中工作的简单 WAR 应用程序的问题

Posted

技术标签:

【中文标题】在 JBOSS 6 EAP 中部署一个在 JBOSS AS 5 中工作的简单 WAR 应用程序的问题【英文标题】:Issues deploying a simple WAR application in JBOSS 6 EAP that worked in JBOSS AS 5 【发布时间】:2016-03-24 11:27:03 【问题描述】:

我有一个 MAVEN 战争文件,它在我的旧 JBOSS 5.1 AS 环境中运行良好。但是,当我尝试将战争添加到 JBOSSEAP/standalone/deployments 目录中(通过管理控制台 UI 或直接)时,我收到以下我无法理解的错误:

15:45:07,693 错误 [org.jboss.as.controller.management-operation] (HttpManagementService-threads - 1) JBAS014612:操作(“添加”) 失败 - 地址:(["deployment" => "clinicalTrials.war"]) - 失败 描述:“JBAS014771:缺少/不可用的服务 依赖项" => ["jboss.deployment.unit.\"clinicalTrials.war\".PARSE 不见了 [jboss.deployment.subunit.\"clinicalTrials.war\".WEB-INF/classes.STRUCTURE]"] 15:45:07,694 错误 [org.jboss.as.server](HttpManagementService-threads - 1)JBAS015870:部署部署 “clinicalTrials.war”因以下失败而回滚 消息:“JBAS014771:缺少/不可用依赖项的服务” => ["jboss.deployment.unit.\"clinicalTrials.war\".PARSE 丢失 [jboss.deployment.subunit.\"clinicalTrials.war\".WEB-INF/classes.STRUCTURE]"] 15:45:07,698 INFO [org.jboss.as.server.deployment](MSC 服务线程 1-8)JBAS015974:停止子部署(运行时名称: WEB-INF/类)在 2 毫秒内 15:45:07,735 INFO [org.jboss.as.server.deployment](MSC 服务线程 1-8)JBAS015877:停止部署临床试验.war (运行时名称:clinicalTrials.war)在 40 毫秒内 15:45:07,735 INFO [org.jboss.as.controller] (HttpManagementService-threads - 1) JBAS014774:服务状态报告 JBAS014775:新的缺失/不满足的依赖关系: 服务 jboss.deployment.subunit."clinicalTrials.war".WEB-INF/classes (失踪)家属:[服务 jboss.deployment.unit."clinicalTrials.war".PARSE] 服务 jboss.deployment.subunit."clinicalTrials.war".WEB-INF/classes.STRUCTURE (失踪)家属:[服务 jboss.deployment.unit."clinicalTrials.war".PARSE]

我已经运行了jar tvf clinicalTrials.war 以确保战争部署包含所有类,并且当我将它放在 server/default/deploy 目录中时,这在我的 JBOSS 5 AS 环境中工作,所以我不太清楚确定我错过了什么。我已将日志级别设置为 DEBUG,但似乎没有帮助。

【问题讨论】:

【参考方案1】:

根据战争文件中包含的 jar 文件,尤其是与 Hibernate、JSF 和 XML 解析器相关的 jar 文件,需要使用 WEB-INF/jboss-deployment-structure.xml 来确保加载正确的版本.模块下的一些 jars 会根据 war 中某些文件的存在自动加载(参见关于模块的 JBoss 文档)。这可能会抑制本地版本在本地库下加载,从而导致错误。

【讨论】:

以上是关于在 JBOSS 6 EAP 中部署一个在 JBOSS AS 5 中工作的简单 WAR 应用程序的问题的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 应用程序部署在 JBOSS 6.4 eap 上,Java 服务作为后端

作为部署安装时的 jboss-eap-6.1 oracle 驱动程序定义

jboss eap6.1(ejb升级)

如何更新jboss EAP -6.2中的JSP / JS而无需重新启动或重新部署构建

无法在 JBoss EAP 6.4 环境中使用 wildfly-maven-plugin 2.0.1 进行部署

Jboss (6.4 EAP) 到 WebSphere (7.x)