美文网首页
maven的几个属性作用

maven的几个属性作用

作者: 不给起这个名字 | 来源:发表于2018-12-06 23:39 被阅读0次

    DepencyManagement 作用:加上DepencyManagement后,子项目不会继承依赖,只会继承依赖的版本
    比如

    父pom

    <groupId>com.yxh</groupId>
    <artifactId>yxh</artifactId>
    <version>1.0.0.0-SNAPSHOT</version>
    <DepencyManagement>
          <dependencies>
            <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
         </dependencies>
    </DepencyManagement>
    

    子pom 是不会继承到mysql的依赖的,但会继承版本,需要写上mysql依赖,默认继承父pom的mysql的版本

    <parent>
        <groupId>com.yxh</groupId>
            <artifactId>yxh</artifactId>
        <version>1.1.0.0-SNAPSHOT</version>
    </parent>
      <dependencies>
            <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                    </dependency>
         </dependencies>
    

    dependencies 作用:依赖会被子项目继承

    父pom

    <groupId>com.yxh</groupId>
    <artifactId>yxh</artifactId>
    <version>1.0.0.0-SNAPSHOT</version>
          <dependencies>
            <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
         </dependencies>
    

    子pom 不需要加上mysql依赖,直接会继承依赖

    <parent>
        <groupId>com.yxh</groupId>
            <artifactId>yxh</artifactId>
        <version>1.1.0.0-SNAPSHOT</version>
    </parent>
    

    optional: 当项目自身被依赖时,标注依赖是否传递

    <optional>true</optional>表示不传递依赖
    比如api工程依赖了server工程

    <dependency>
            <groupId>com.yxh</groupId>
            <artifactId>server</artifactId>
            <version>1.1.0.0-SNAPSHOT</version>
        </dependency>
    

    common工程需要依赖api工程,但不想依赖server工程。这时需要在api工程的pom下加上<optional>true</optional>

    api工程pom <optional>true</optional> 表示不传递依赖

    <dependency>
            <groupId>com.yxh</groupId>
            <artifactId>server</artifactId>
            <version>1.1.0.0-SNAPSHOT</version>
                    <optional>true</optional>
      </dependency>
    

    除了api工程,其他工程其实都不需要deploy到私服,那么其他工程可以引用下面依赖,跳过deploy

    <properties>
            <!--跳过deploy-->
            <maven.deploy.skip>true</maven.deploy.skip>
        </properties>
    

    Maven pom版本升级不要再用传统的手工套路,一个一个改,这样很容易改漏的,一个maven命令
    mvn versions:set -DnewVersion=1.8.2.0-SNAPSHOT

    相关文章

      网友评论

          本文标题:maven的几个属性作用

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