0

我们的应用程序在 JBoss 6 EAP 和 7 Community 上运行不变。现在我们要添加对 WildFly 9 的支持,我们发现我们需要更改打包在应用程序 WAR 中的各种 JBoss 部署描述符(jboss-deployment-structure.xml、jboss-scanning.xml、jboss-web.xml)使应用程序在 WildFly 9 上运行。不幸的是,这些更改似乎破坏了我们的应用程序与旧 JBoss 版本的向后兼容性。

有没有办法在单个 WAR 存档中拥有多个 JBoss 部署描述符版本,以便每个 JBoss 版本选择它可以支持的最高版本?

我们的目标是拥有一个在 JBoss 6.x EAP、JBoss 7.x 社区​​以及 WildFly 8.x 和 9.x 上保持不变的单一应用程序 WAR 。

4

1 回答 1

1

不幸的是,目前没有办法使用单个 jboss-deployment-structure.xml 文件来做到这一点。

我的团队采取了以下方法之一来解决这个问题:

  1. 创建一个安装在每个应用服务器中的自定义模块,并让 jboss-deployment-structure 文件只引用这个自定义模块。

  2. 为您希望部署的每个应用服务器提供单独的 Maven 配置文件。这并不理想,因为它会为您的不同服务器生成不同的战争文件。这对于其他文件也需要更改的项目(例如 beans.xml 或 web.xml)是必需的。

于 2015-09-22T15:01:20.017 回答