ben*_*ico 40 dependency-management maven
我有几年的maven项目经验,即使是多模块项目(这让我讨厌 maven的多模块功能(所以免责声明现在已经完成))即使我真的很喜欢maven也有一些我无法得到的东西明确答案:
多模块maven项目的典型用例是什么?与简单的依赖关系和父pom相比,这种结构的附加价值是多少?
我已经看到了很多多模块项目的配置,但是所有这些项目都可以通过创建一个简单的依赖库结构来实现,这些结构依赖于自己的生命作为可交付成果(即使使用父pom,作为单独的可交付成果:分解依赖和配置)我没有找到任何用例,我可以清楚地看到多模块结构的附加值.
我一直发现这种结构带来了过度的复杂性而没有真正的好处:我在哪里错过了什么?(说实话,我可以得到一些ear可以受益于这种结构,但除了特定的用例,任何其他真正的用途和好处?)
dig*_*oel 29
这是一个真实的生活案例.
我有一个多模块项目(并且你的咆哮...我没有看到它的任何复杂性.)最终结果是一个webapp但我有api,impl和webapp的不同模块.
创建项目12个月后,我发现我必须使用从jar运行的独立进程与Amazon S3集成.我添加了一个依赖于api/impl的新模块,并为新模块中的集成编写了我的代码.我使用程序集插件(或类似的东西)来创建一个可运行的jar,现在我可以在tomcat中部署一个战争,我可以在另一个服务器上部署一个进程.我的S3集成过程中没有Web类,我的webapp中没有Amazon依赖项,但我可以在api和impl中共享所有内容.
3个月后,我们决定创建一个REST webapp.我们希望将其作为单独的应用程序,而不仅仅是现有Web应用程序中的新URL映射.简单.另外一个模块,另一个webapp作为maven构建的结果创建,没有特别的修补.webapp和rest-webapp之间可以轻松共享业务逻辑,我可以根据需要进行部署.
ben*_*n75 16
多模块的主要好处是
我已经在一个有大约30个子模块的项目中工作过.有时,您需要更改模块以外的内容,运行单个命令并确保需要编译的所有内容都以正确的顺序编译是必须的.
编辑
为什么30个子模块?
巨大的框架,很多功能,很多开发人员,模块基础上的功能分离.这是一个真实的用例,将代码分离到模块中真的很有意义.
我认为您是正确的,大多数使用多模块的项目实际上并不需要它们。
在我工作的地方,我们使用多模块项目(我认为这是有充分理由的)。我们有类似面向服务的架构,所以每个应用程序
我同意将该实现和 war 模块放在同一个实际模块中是可以的,但(可以说)这样做的好处是,解决问题的类之间以及应用程序如何与外部世界通信的方式之间有非常清晰的划分。
在以前仅涉及 Web 应用程序的项目中,我尝试将所有内容都放在同一个模块中,因为考虑到我正在使用的模块,这使测试变得更容易。
| 归档时间: |
|
| 查看次数: |
10018 次 |
| 最近记录: |