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

Maven高级

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

Maven高级

目录
    • Maven工程关系:依赖
    • Maven工程关系:继承
    • Maven工程关系:聚合
    • 编译器插件:
    • 资源拷贝插件:
    • tomcat插件:

Maven工程关系:依赖

有三种关系:依赖,继承,聚合

【3】依赖的好处:

省去了程序员手动添加jar包测操作,省事!!
还可以帮我们解决jar包冲突的问题:

依赖传递性:

案例演示依赖的传递性:

然后将项目MavenDemo再次重新打包为jar并安装到本地仓库(使用maven命令install)。

然后我们再单独创建一个项目MavenDemo2,让项目MavenDemo2依赖项目MavenDemo:

从上面可以证明:项目2依赖项目1,项目一依赖mybatis工程,–>传递性–>项目二可以直接使用mybatis工程。

依赖传递的两个原则:

排除依赖:



    4.0.0
    
    org.example
    MavenDemo2
    1.0-SNAPSHOT

    
        
            
            org.example
            MavenDemo
            1.0-SNAPSHOT
            
            
                
                    org.mybatis
                    mybatis
                
            
        
    


依赖范围:


统一管理依赖的版本:

properties标签:使用properties标签内使用自定义标签统一声明版本号,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级(配置属性)。

(1)使用properties标签内使用自定义标签统一声明版本号:

 
	4.0.0.RELEASE

(2)在需要统一版本的位置,使用${自定义标签名}引用声明的版本号:

${cvzhanshi.spring.versio}

properties其他用途:

其实properties标签配合自定义标签声明数据的配置并不是只能用于声明依赖的版本号。凡是需要统一声明后再弓|用的场合都可以使用:

 	
	4.0.0.RELEASE
	UTF-8

依赖管理器dependencyManagement:用于声明依赖的坐标gav,不实际引入jar:

Maven工程关系:继承

类似于java中的继承。
在java中如果父类定义了一个属性如String name=“张三”;
则子类继承了这个父类,则子类是不是直接可以使用name=“张三”.

同理,当我们在父工程中定义了一个依赖的版本号,则子工程是不是可以直接使用父工程的版本号。

parent标签:在Maven中,如果多个模块都需要声明相同的配置,例如:groupId、version、有相同的依赖、或者相同的组件配置等,也有类似Java的继承机制,用parent声明要继承的父工程的pom配置(继承)。

relativePath:
父项目的pom.xml文件的相对路径。默认值为…/pom.xml。maven首先从当前构建项目开始查找父项目的pom文件,然后从本地仓库找,然后从远程仓库找。RelativePath允许你选择一个不同的位置。

如果默认…/pom.xml没找到父元素的pom,不配置relativePath指向父项目的pom则会报错。

(1)首先创建一个父工程MavenDemo(File–>New Project),打包方式为pom:



    4.0.0

    org.example
    MavenDemo
    1.0-SNAPSHOT

    
    pom

    
    
        3.5.6
    

    
    
        
            
                
                org.mybatis
                mybatis
                ${mybatis.version}
                
                import
            
        
    


(2)创建一个子工程MavenDemo2:(File–>New Project)



    4.0.0
    
    
        org.example
        MavenDemo
        1.0-SNAPSHOT
        
        ../MavenDemo/pom.xml
    
    
    org.example
    MavenDemo2
    1.0-SNAPSHOT

    
    
        
            org.mybatis
            mybatis
        
    


Maven工程关系:聚合

聚合其实也包含了继承的关系。

案例:
创建总工程:pom工程

创建子模块:

编译器插件:

查看jdk版本:

资源拷贝插件:

tomcat插件:

执行命令:

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

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

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