我正在开发一个可以获得单片大小的应用程序。我想将应用程序分解为模块化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,反之亦然。此外,整个上下文根问题也随之兴起。
据我了解,我想要完成的是不可能的。你会如何解决这个问题?
答案 0 :(得分:1)
确实,这是不可能的。实际上,你不应该将“特性”(模块)打包为松散的WAR,而应该打包成最终位于WAR的/WEB-INF/lib
的JAR。 WAR应该代表一个独立运行的Web应用程序。
要获得正确的项目设置和配置详细信息,请转到此答案:Structure for multiple JSF projects with shared code。