Maven POM檔案、多模組以及依賴關係
阿新 • • 發佈:2019-01-28
一、POM.XML
1、ProjectObject Model:專案物件模型
2、基本項:
- project:pom.xml的頂級元素。
- groupId:指出建立這個工程的組織或團隊的唯一標識。
- plugins:外掛。
- artifactId:基本名稱。
- packaging:型別(如JAR、WAR、EAR等等),預設是JAR,所有帶有子模組的專案的packaging
都為pom。
- version:版本號。
- modelVersion:指出POM使用哪個版本的物件模型。
二、多模組
1、如何建立
2、為什麼要分多模組
軟體公司通常的一種做法就是將多個專案構建到主要產品中。維護依賴關係鏈和一次性地構建整個產品足以成為一個挑戰,但是如果使用Maven的話,事情將變得簡單。如果您建立了一個指向其它子模組的 pom.xml父檔案,Maven將為您處理整個構建過程。它將分析每個子模組的pom.xml檔案,並且按照這些子模組的相互依賴順序來構建專案。如果每個專案明確地指明它們的依賴項,那麼子模組在父檔案中的放置順序是不造成任何影響的。但是考慮到其他的開發者,最好保證子模組在pom.xml父檔案中 的放置順序和您期望的子專案被構建的順序一樣。
3、依賴另一個專案的子模組
A專案下有2個子模組A1,A2;B專案下有3個子模組B1,B2,B3;
A1依賴B1和A2; A2依賴B2,B3;
則,需要先執行B專案,成功之後再執行A專案。
三、依賴關係
1、簡介
參看:管理依賴
2、scope引數
指定依賴項在何種階段是所需的。
<dependency> <groupId>aa</groupId> <artifactId>aa</artifactId> <version>1.5.1</version> <scope>compile</scope> </dependency>
——》引數值:
- compile:預設值。表示是所有任務所需的資源,會隨專案一起釋出。
- test:用於編譯和執行測試程式碼時所需的資源,不會隨專案釋出。
- runtime:執行時所需的資源,如JDBC驅動。
- provided:類似compile,JDK部分或應用伺服器的classpath所需的資源,期望JDK、容器
或使用者會提供這個依賴,如servlet.jar。
- system:類似provided,必須指定systemPath,需要顯示提供依賴的jar,
maven不會在Repository中查詢。