Maven

作者: 凯凯frank | 来源:发表于2020-02-16 22:54 被阅读0次

    常用命令

    mvn -v               查看maven版本
    mvn compile     编译,将java源文件编译成class文件
    mvn test          执行test目录下的测试用例
    mvn package   将java工程打成jar包
    mvn clean        清除target文件夹
    mvn install     将当前项目安装到maven的本地仓库中
    

    mvn clean -Dmaven.test.skip=true -U
    跳过测试用例

    传递依赖和排除依赖

    传递依赖:如果我们的项目引入了一个jar包,而改jar包又引用了其他jar包。那么默认情况下,项目编译是,maven会把直接引用和间接引用的jar包都下载到本地(~/.m2/repository)
    排除依赖:如果我们只想下载直接引用的jar包,在pom.xml中做如下配置

        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase</artifactId>
          <version>0.94.17</version>
          <exclusions>
            <exclusion>
              <groupId>commons-logging</groupId>
              <artifactId>commons-logging</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
    

    依赖冲突

    若项目中多个jar同时引用了相同的jar时,会产生依赖冲突。Maven采用了两种避免冲突的策略

    • 短路优先
      本项目 -> A.jar -> B.jar ->X.jar
      本项目 -> C.jar ->X.jar
      X.jar由C.jar引入
    • 声明优先:若引用路径长度相同,在pom.xml中谁先被声明,就使用谁
      本项目 -> A.jar ->X.jar
      本项目 -> C.jar ->X.jar
      X.jar由A.jar引入

    多模块项目/聚合

    1.jpg
    2.jpg

    父模块使用dependencyManagement标签声明依赖

    相关文章

      网友评论

          本文标题:Maven

          本文链接:https://www.haomeiwen.com/subject/ehtvfhtx.html