2

我正在开发一个大小可以变得单一的应用程序。我想将应用程序分解为模块化的 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

我需要两个功能 WAR 来简单地充当主 WAR 的扩展。这意味着任何 JSF 导航和页面、或控制器、会话数据等都可用于任何功能 WAR,反之亦然。此外,上下文根的整个问题都出现了。

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

4

1 回答 1

1

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

有关正确的项目设置和配置详细信息,请参阅此答案:Structure for multiple JSF projects with shared code

于 2012-09-20T16:30:24.083 回答