-
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>
-
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>
