欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Java从零到架构师第③季】【37】Maven补充

时间:2023-07-09

持续学习&持续更新中…

守破离


【Java从零到架构师第③季】【37】Maven补充

打包方式依赖冲突依赖冲突—解决方案1依赖冲突—解决方案2依赖冲突—解决方案3依赖冲突—解决方案4自定义属性分模块构建项目分模块构建项目—继承分模块构建项目—依赖分模块构建项目—聚合继承、依赖、聚合参考 打包方式

将MyBatis映射文件放在dao接口所在的目录(programmer.lp.dao)下(SkillDao.java、SkillDao.xml)

pom.xml:

src/main/resources src/main/java ***.xml

依赖冲突 依赖冲突—解决方案1

<?xml version="1.0" encoding="UTF-8"?> 4.0.0 org.example maven_complement 1.0-SNAPSHOT org.springframework spring-jdbc 5.2.8.RELEASE org.springframework spring-webmvc 5.2.2.RELEASE

依赖冲突—解决方案2

org.springframework spring-jdbc 5.2.8.RELEASE org.springframework spring-webmvc 5.2.2.RELEASE org.springframework spring-beans 5.2.9.RELEASE

依赖冲突—解决方案3

org.springframework spring-webmvc 5.2.2.RELEASE org.springframework spring-beans org.springframework spring-jdbc 5.2.8.RELEASE

依赖冲突—解决方案4

org.springframework spring-beans 5.2.5.RELEASE org.springframework spring-webmvc 5.2.2.RELEASE org.springframework spring-jdbc 5.2.8.RELEASE

dependencyManagement并不会下载导入库(依赖),只能用于规定依赖的版本号:

org.springframework spring-beans 5.2.5.RELEASE org.springframework spring-beans

自定义属性

例1:

<?xml version="1.0" encoding="UTF-8"?> 4.0.0 org.example maven_complement 1.0-SNAPSHOT 5.2.8.RELEASE xxx ... org.springframework spring-beans ${spring-version} org.springframework spring-jdbc ${spring-version} org.springframework spring-webmvc ${spring-version}

例2:

5.2.8.RELEASE UTF-8 org.springframework spring-beans ${spring-version} org.springframework spring-jdbc ${spring-version} org.springframework spring-jdbc org.springframework spring-webmvc ${spring-version}

分模块构建项目 分模块构建项目—继承 分模块构建项目—依赖 分模块构建项目—聚合

聚合与继承没有直接的关系。并不一定非要是它的子项目才能聚合,能找到哪个项目(肯定要使用Maven来管理),就可以聚合那个项目(可以使用./、…/、…等来寻找其他项目)

聚合是用于统一构建管理那些被聚合的项目的

继承、依赖、聚合

继承是为了在父项目的pom.xml中抽取公共的Maven配置,方便统一管理这些Maven配置。子项目继承父项目后,就可以在子项目的pom.xml中使用父项目的pom.xml中的Maven配置了。

让moduleA(项目A)依赖moduleB,是为了让moduleA能够使用moduleB的代码、资源、依赖库(classpath下的内容)等。

在一个项目中聚合多个项目,是为了能够统一管理构建这些被聚合的项目。聚合与继承并没有直接的联系,只不过,通常情况下我们会让父项目聚合管理它的子项目。

总结:

想要拿某个项目的pom.xml中的Maven配置来用——使用继承

想要拿某个项目的Java代码(配置文件、依赖库等)来用——使用依赖

想要统一构建管理某些项目——使用聚合

参考

小码哥-李明杰: Java从0到架构师③进阶互联网架构师.


本文完,感谢您的关注支持!


Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。