maven中的父子工程


  1. maven中的父工程

  • 創建的maven父工程中一般打包方式為pom,使用標簽: <packaging>pom</packaging>

  • 指定此父目下的子模塊,使用標簽: <modules></modules>

  • 統一管理jar包版本,抽取處的同一個jar包的版本號,使用標簽: <properties></properties>

  • 鎖定版本+子modlue不用寫groupId和version,使用標簽:<dependencyManagement></dependencyManagement>,這個標簽和java繼承很像,子項目中必須要引入對應的依賴才可以使用,子項目僅僅是不需要寫groupId和version,子項目必須使用 <dependency></dependency> 才可以使用。

       <!--子項目必須引入才可以使用mysql的jar包-->
      <dependency>
      	<groupId>mysql</groupId>
      	<artifactId>mysql-connector-java</artifactId>
      </dependency>
    
    父項目的 pom.xml 如下
  •   <!--該標簽指定打包方式,一般都在父工程中使用這個標簽-->
      <packaging>pom</packaging>
      
      <!--該標簽指定此項目下的子模塊,目前有三個模塊:order,Payment,common-->
      <modules>
      	<module>order</module>
      	<module>Payment</module>
      	<module>common</module>
      </modules>
      
          <!-- 統一管理jar包版本,如果很多地方都使用的相同jar包,可以用這種方式統一管理版本,以后在這里更改版本號就所有的都生效 -->
      <properties>
      	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      	<maven.compiler.source>1.8</maven.compiler.source>
      	<maven.compiler.target>1.8</maven.compiler.target>
      	<junit.version>4.12</junit.version>
      	<log4j.version>1.2.17</log4j.version>
      	<lombok.version>1.16.18</lombok.version>
      	<mysql.version>5.1.47</mysql.version>
      	<druid.version>1.1.16</druid.version>
      	<mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
      </properties>
      
          <!-- 子模塊繼承之后,提供作用:鎖定版本+子modlue不用寫groupId和version  -->
      <dependencyManagement>
           <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>${mysql.version}</version><!--這個就是使用上面管理的版本號-->
          </dependency>
    	</dependencyManagement>
    
  1. maven中的子項目

  • 子項目使用的maven依賴版本可以繼承父項目的版本,也可以指定使用某個版本;

  • 如果子項目的依賴沒有聲明版本號(沒寫)那就默認繼承父項目的版本號,如果寫了版本號就使用自己的版本;

       <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>druid</artifactId>
              <version>${druid.version}</version>
      	<!--<version>1.2.6</version>-->使用這個即指定版本,不繼承父項目的版本
          </dependency>
    
  • 調用另一個模塊的代碼,需要引用,使用如下標簽引入自己項目中的模塊

      <!-- 引入自己定義的通用包,可以實現代碼復用 -->
      <dependency>
          <groupId>com.fj.cloud</groupId>
          <artifactId>common</artifactId>
          <version>1.0-SNAPSHOT</version>
      </dependency>
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM