关于maven:Maven使用

23次阅读

共计 805 个字符,预计需要花费 3 分钟才能阅读完成。

依赖传递

  • 在工程的依赖树上,深度越浅,越被优先选择。
  • 若两个依赖包处于依赖树上的同一层,则谁在前抉择谁
  • 总之,防止传递依赖时引起版本问题呈现的最佳实际。个别状况下,如果工程间接依赖到某一框架的多个模块,最好 全副申明这些依赖

模块聚合和继承

Maven 聚合

当模块十分多的时候,想要一次构建多个我的项目,而不是到多个模块的目录下别离执行命令。Maven 的聚合个性就是为该需要服务的。

<parent>
    <groupId>com.ts.mall</groupId>
    <artifactId>ts-mall</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../mall-dependencies/pom.xml</relativePath>
</parent>

<artifactId>mall-dependencies</artifactId>
<!-- 聚合模块必须为 pom,否则无奈构建 -->
<packaging>pom</packaging>

<!-- modules 是实现聚合的最外围配置, 指定聚合的模块目录 -->
<modules>
    <module>../modules1</module>
    <module>../modules2</module>
    <module>../modules3</module>
</modules>

继承

  • 子模块的 grouopId 和 version,都会从父模块依赖下来。
  • 创立了一个模块不须要依赖父类的 jar 包,须要用 Maven 的依赖治理 dependencyManagement 来解决这个问题

总结

  • 聚合是为了不便疾速构建我的项目
  • 继承是为了打消反复配置,在简化 pom 的同时还能促成各个模块配置的一致性。
  • 共同点是两者的 packaging 都是 pom,聚合模块与继承关系中的父模块除了 pom 之外都没有理论内容。

参考资料
Maven 实战(九)— 模块聚合和继承

正文完
 0