假設現有項目結構如下
dailylog-parent
|-dailylog-common
|-dailylog-web
- 三個文件夾處在同級目錄中
- dailylog-web依賴dailylog-common
- dailylog-parent管理dailylog-common和dailylog-web。
根據資料已知:
參數 | 全稱 | 釋義 | 說明 |
-pl | --projects | Build specified reactor projects instead of all projects | 選項后可跟隨{groupId}:{artifactId}或者所選模塊的相對路徑(多個模塊以逗號分隔) |
-am | --also-make | If project list is specified, also build projects required by the list | 表示同時處理選定模塊所依賴的模塊 |
-amd | --also-make-dependents | If project list is specified, also build projects that depend on projects on the list | 表示同時處理依賴選定模塊的模塊 |
-N | --Non-recursive | Build projects without recursive | 表示不遞歸子模塊 |
-rf | --resume-from | Resume reactor from specified project | 表示從指定模塊開始繼續處理 |
以下是在maven-3.3.9中的試驗
1. 在dailylog-parent目錄運行`mvn clean install -pl org.lxp:dailylog-web -am`,結果
- dailylog-common成功安裝到本地庫
- dailylog-parent成功安裝到本地庫
- dailylog-web成功安裝到本地庫
該命令等價於`mvn clean install -pl ../dailylog-web -am`
2. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common -am`,結果
- dailylog-common成功安裝到本地庫
- dailylog-parent成功安裝到本地庫
3. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common -amd`,結果
- dailylog-common成功安裝到本地庫
- dailylog-web成功安裝到本地庫
由於dailylog-parent並不依賴dailylog-common模塊,故沒有被安裝
4. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-common,../dailylog-parent -amd`,結果
- dailylog-common成功安裝到本地庫
- dailylog-parent成功安裝到本地庫
- dailylog-web成功安裝到本地庫
5. 在dailylog-parent目錄運行`mvn clean install -N`,結果
- dailylog-parent成功安裝到本地庫
-N表示不遞歸,那么dailylog-parent管理的子模塊不會被同時安裝
6. 在dailylog-parent目錄運行`mvn clean install -pl ../dailylog-parent -N`,結果
- dailylog-parent成功安裝到本地庫
7. 在dailylog-parent目錄運行`mvn clean install -rf ../dailylog-common`,結果
- dailylog-common成功安裝到本地庫
- dailylog-web成功安裝到本地庫
該文獻來自: