为不同的模块部署多个战争,但同一门户网站

时间:2013-02-04 16:15:37

标签: java-ee struts maven-3 jboss7.x ear

我有一个基于struts的遗留项目(1.2)并部署在JBOSS AS 7上。

这个项目在几年前刚刚起步,迎合了单一产品,但现在有几个部分。我们希望将它们分解为maven模块并从中生成单独的战争并进行部署 - 以便使用Jboss管理控制台重新发布需要更改的模块。

想法是将所有模块打包为EAR中的自给自足的战争并进行部署。但是,我看到如果我将所有包装在一个EAR中,那么就没有人可以热部署它的一部分,即它中的一场战争。 甚至可以用EAR吗?

此外,所有模块都有一个共同的登录前端 - 有没有办法进行常见的只登录战争,然后可以在维持会话时重定向到其他战争?

1 个答案:

答案 0 :(得分:1)

您可以创建expoided归档文件,这样您就可以独立更新每场战争或任何lib / * jar文件。

您应该查看here以了解如何触发爆炸档案的部署。

但是这将作为一个应用程序触发,每次修改时都会重新部署整个耳朵。 (规格要求没有真正的热部署)

另一个选择是将依赖项放在不同的JBoss模块(example here)中,然后您就可以在模块中使用共享jar进行相互依赖的战争。但它将是完全不同的应用程序,您将无法在不同的应用程序之间共享EJB或CDI bean。

这个answer有关于用于处理共享依赖关系的模块的更多细节。