首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Maven多模块功能,但共享webapp

Maven多模块功能,但共享webapp
EN

Stack Overflow用户
提问于 2013-08-08 17:42:30
回答 1查看 887关注 0票数 4

我正在用Maven构建一个多模块的J2EE web应用程序。web业务应用程序包含几个子系统/模块。为了获得高度模块化、易于分布式团队开发、易于代码导航、易于部署和升级的web业务应用系统,我们先对web业务应用系统进行功能分解,然后再对其进行分层。下面是maven的层次结构:

代码语言:javascript
复制
|--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,但可以在运行时合并为一个网站)

EN

回答 1

Stack Overflow用户

发布于 2013-08-09 02:30:10

考虑到这一点,我给你的最好建议是:单独部署一个单独的团队构建的内容。如果这些子系统确实需要彼此独立,并且可以独立发布,那么一次性将它们部署在一起是没有任何意义的。

如果由于您的系统需求而无法做到这一点,那么就体系结构而言,最好的解决方案是将前端层组合到一个WAR组件中,该组件依赖于不同的业务子系统(域、dao和服务)。团队需要共享这个组件,但可以将他们的工作分散到不同的文件夹或包中。

话虽如此,咨询行业的生活通常并不那么简单,逻辑上的解决方案就像这样可能。所以这是我更加脚踏实地的回答:

在主POM文件中,使用assembly-plugin创建所有项目的叠加war。为了降低组装的复杂性,您可以将domain、dao和服务POMs作为简单的依赖项包括在内。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18122749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档