java - 嵌套 Maven 多模块相对于简单依赖的优势

标签 java maven maven-2 maven-3

这个问题是 this SO questions 的延伸但就我而言,我不仅有模块,而且它们是嵌套的,嵌套模块有什么好处吗?例如,如果您有类似

的结构

父级 |-> child 1 | -> child 2 |-> child 3 |-> child 4 |-> child5

你愿意吗

父级 |-> child 1 |-> child 2 |-> child 3 |-> child 4 |-> child5

这两种方法的优点和缺点是什么?

最佳答案

当您想要为多个子项目执行maven命令并且不必关心构建顺序时,多模块项目结构很有用。(哪个依赖于另一个项目会自动处理)例如:安装所有模块或为所有模块生成 javadoc。

父结构有利于;从父级链继承依赖项、插件等配置。在您提供的示例中,child5 将对它的父级链定义的每个依赖项具有依赖项。(在其 <dependencies> 标记中)但是,好处是 child5 不必指定其父级链在 <dependencyManagement> 标记中定义的依赖项的版本。

如果你的child1-child5负责不同的业务逻辑(因此会有非常广泛的依赖关系),应该使用多模块。

最流行的maven项目之一spring-boot同时具备这两个概念。我建议你检查一下 https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project

关于java - 嵌套 Maven 多模块相对于简单依赖的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49055671/

相关文章:

java - 将原型(prototype) bean Autowiring 到原型(prototype) bean 中?

Java Swing : dispose() a JFrame does not clear its controls

java - 将 SIFT 用于增强现实

java - 在 Maven 中为 Launch4j 添加系统属性(使用 Log4j 2)

maven - 找不到HttpSession类

java - 在哪里可以找到 JSFUnit 实际示例?

maven-2 - 在META-INF目录下添加生效的pom.xml

java - 带有事件的警报对话框错误

hibernate - 如何多次重复执行特定命令

java - 如何通过maven打包但跳过生成war文件