栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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


持续学习&持续更新中…

守破离


【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



    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:



    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到架构师③进阶互联网架构师.


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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号