我正在用Maven构建一个多模块的J2EE web应用程序。web业务应用程序包含几个子系统/模块。为了获得高度模块化、易于分布式团队开发、易于代码导航、易于部署和升级的web业务应用系统,我们先对web业务应用系统进行功能分解,然后再对其进行分层。下面是maven的层次结构:
|--business-sub-system-1
| --domain
| --pom.xml
| --dao
| --pom.xml
| --service
| --pom.xml
| --webapp(presentation)
| --pom.xml
|--pom.xml
|
|--business-sub-system-2
| --domain
| --pom.xml
| --dao
| --pom.xml
| --service
| --pom.xml
| --webapp(presentation)
| --pom.xml
|--pom.xml
|
|--business-sub-system-3
| ...
|--business-sub-system-4
|...
|--business-sub-system-5
|...
|...
|pom.xml但我们必须共享web应用程序,因为整个项目将被视为一个web项目(一个web.xml)。

我的问题是,如何将webapp分离到不同的模块中,但可以作为一个网站运行?(每个业务子系统都有单独的webapp/html/jsp/js/css,但可以在运行时合并为一个网站)
发布于 2013-08-09 02:30:10
考虑到这一点,我给你的最好建议是:单独部署一个单独的团队构建的内容。如果这些子系统确实需要彼此独立,并且可以独立发布,那么一次性将它们部署在一起是没有任何意义的。
如果由于您的系统需求而无法做到这一点,那么就体系结构而言,最好的解决方案是将前端层组合到一个WAR组件中,该组件依赖于不同的业务子系统(域、dao和服务)。团队需要共享这个组件,但可以将他们的工作分散到不同的文件夹或包中。
话虽如此,咨询行业的生活通常并不那么简单,逻辑上的解决方案就像这样可能。所以这是我更加脚踏实地的回答:
在主POM文件中,使用assembly-plugin创建所有项目的叠加war。为了降低组装的复杂性,您可以将domain、dao和服务POMs作为简单的依赖项包括在内。
https://stackoverflow.com/questions/18122749
复制相似问题