Jakarta ee 将包含多个WAR文件的EAR项目发送到exend应用程序

Jakarta ee 将包含多个WAR文件的EAR项目发送到exend应用程序,jakarta-ee,jsf-2,war,ear,Jakarta Ee,Jsf 2,War,Ear,我正在开发一个应用程序,它的大小可以是单片的。我想将应用程序分解为模块化的web组件,并根据需要将它们打包在一起 例如,假设我有以下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组件,并根据需要将它们打包在一起

例如,假设我有以下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
我需要这两个特性战来简单地作为主战的扩展。这意味着任何JSF导航&页面、控制器、会话数据等都可以用于任何一个特性战,反之亦然。此外,上下文根的整个问题也出现了


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

事实上,这是不可能的。实际上,您不应该将“功能”(模块)打包为松散的WAR,而应该打包为JAR,最终放入WAR的
/WEB-INF/lib
。WAR即表示一个独立运行的web应用程序


有关正确的项目设置和配置详细信息,请参阅以下答案:。

谢谢您,巴卢斯克。这无疑为我指明了正确的方向!我只想回去报到。对于那些开发JSF应用程序的人,您可以在WAR项目中设置模板,但随后从客户端JAR加载特定于客户端的页面,因为JSF允许从任何模块加载页面。