带有多个WAR文件的EAR项目可以扩展应用程序

时间:2012-09-20 16:23:41

标签: java-ee jsf-2 war ear

我正在开发一个可以获得单片大小的应用程序。我想将应用程序分解为模块化Web组件,并根据需要将它们打包在一起。

例如,假设我有以下网络项目:

web-app-main.WAR
web-app-feature-1.WAR
web-app-feature-2.WAR

web-app-main.WAR 将包含任何部署所共有的所有bean和页面。现在假设我有客户#1 支付了 web-app-feature-1.WAR 客户#2 支付的费用都。我想要以下内容:

Client #1
EAR
  web-app-main.WAR
  web-app-feature-1.WAR
  ejb-client1.JAR

Client #2
EAR
  web-app-main.WAR
  web-app-feature-1.WAR
  web-app-feature-2.WAR
  ejb-client2.JAR

我需要两个功能WAR才能简单地充当主WAR的扩展。这意味着任何JSF导航&页面或控制器,会话数据等可用于任一特征WAR,反之亦然。此外,整个上下文根问题也随之兴起。

据我了解,我想要完成的是不可能的。你会如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

确实,这是不可能的。实际上,你不应该将“特性”(模块)打包为松散的WAR,而应该打包成最终位于WAR的/WEB-INF/lib的JAR。 WAR应该代表一个独立运行的Web应用程序。

要获得正确的项目设置和配置详细信息,请转到此答案:Structure for multiple JSF projects with shared code