Maven多模塊工程搭建


一、工程結構:


其中ps 系統中包含兩個模塊,分別為ps-service和ps-admin


二、搭建如上工程結構步驟如下:

1、創建父項目ps,在Eclipse里面New -> Maven Project;記得勾選Create a simple project”


創建工程時注意一下紅圈:



2、父項目建好之后,目錄下面將其他無關的文件刪除,只要留下pom.xml即可。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion><!--
聲明項目描述符遵循哪一個POM模型版本。模型本身的版本很少改變,雖然如此,但它仍然是必不可少的,這是為了當Maven引入了新的特性或者其他模型變更的時候,確保穩定性。-->
  <groupId>com.suning.search</groupId>
  <artifactId>ps</artifactId>
  <packaging>pom</packaging>  <!--
所有帶有子模塊的項目的packaging都為pom-->
  <name>ps-parent</name>  
  <version>0.0.1-SNAPSHOT</version>
  <modules>
<!--包含的這兩個子模塊是后面建立模塊的時候自動生成的-->
 
<module>ps-admin</module>
 
<module>ps-service</module>
  </modules>
  <dependencyManagement>
<!--admin和service公用的依賴放在這里-->
    <dependencies>
        <dependency> 
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>3.8.1</version>
           <scope>test</scope>
        </dependency>
    </dependencies>  
  </dependencyManagement>
</project>


3、創建子模塊:

選中剛建的父項目,在彈出菜單中點擊 New -> Maven Module;在紅圈中輸入子模塊名稱。添加完成后會在父項目的pom中自動添加模塊名。



(注意:子模塊創建過程如果是一般的模塊,保持默認GroupId:org.apache.maven.archetypes,Artifact Id:maven-archetype-quickstart,如果是web模塊則選中下圖中的紅圈所示選項


按上面步驟創建的子項目,在pom.xml中有個parent節點,所以,他可以繼承父項目的相關信息。沒錯,父子項目中存在繼承關系。

在子項目的pom.xml中,子項目的groupIdversion一般和父項目相同,那么可以把子項目的這兩個參數刪除,這樣會自動繼承父項目的取值。

同樣,如果其他的一些屬性,所有子項目都是一樣的,那么可以上移到父項目中設置,子項目中無需重復設置。比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>可以僅在父項目中設置一次。

Manen提供 dependencyManagement pluginManagement 兩個標簽。使用這兩個標簽,可以在父項目中統一管理依賴和插件的配置參數,比如版本號啥的。而在子項目中,僅需列出需要使用的依賴和插件的 groupId artifactId 就可以了,其他信息會自動從父項目管理的信息里面獲取。


例如:

在父項目中:

<dependencyManagement><!--admin和service公用的依賴放在這里-->
    <dependencies>
        <dependency> 
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>3.8.1</version>
           <scope>test</scope>
        </dependency>
    </dependencies>  
  </dependencyManagement>


子項目中:

<dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
</dependency>


下接SpringMVC+jetty框架搭建


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com