1. 程式人生 > 其它 >Maven命令列選項

Maven命令列選項

目錄

一.簡介

1.使用-選項時,和後面的引數之間可以不要空格。而使用--選項時,和後面的引數之 間必須有空格。如下面的例子:
$ mvn help:describe -Dcmd=compiler:compile
$ mvn install --define maven.test.skip=true

2.有些命令列選項是從Maven2.1才有的。

3.更多命令列選項請檢視
mvn -h

二.選項

#定義屬性
-D,--define<arg> 定義系統屬性
這是最常用到的定製Maven外掛行為的選項。

#獲得幫助
-h,--help  顯示幫助資訊
如果你要尋找特定外掛的可用目標和引數資訊,請參考Maven Help 外掛。

#使用構建剖面(profile)
要從命令列啟用一個或多個構建剖面,使用下面的選項:
-P,--activate-profiles<arg> 被啟用的,用逗號分隔的剖面列表

#顯示版本資訊
要顯示Maven版本資訊,在命令列裡,使用下面選項中的一個。
-V,--show-version 顯示版本資訊後繼續執行Maven其他目標。

-v,--version 顯示版本資訊。

這兩個選項輸出相同的版本資訊,但-v選項在列印版本資訊後會中斷Maven處理。如果你想讓Maven版本資訊出現在構建輸出的開始處,你應該使用-V選項。如果你正在持續構建環境裡執行Maven,並且你需要知道特定構建使用了哪個Maven版本,-V選項就可以派上用場。

#離線模式執行
-o,--offline 離線模式工作

該引數可以阻止通過網路更新外掛或依賴。

使用定製的POM或定製的Settings檔案

#如果你不喜歡pom.xml檔名、使用者相關的Maven配置檔案的位置或者全域性配置檔案的位置,你可以通過下面的選項定製這些引數。

-f, --file <file> 強制使用備用的POM檔案

-s,--settings <arg> 使用者配置檔案的備用路徑

-gs, --global-settings <file> 全域性配置檔案的備用路徑

#加密密碼
下面的命令允許你使用Maven加密密碼,然後儲存到Maven settings檔案裡:

-emp,--encrypt-master-password <password> 加密主安全密碼

-ep,--encrypt-password <password>  加密伺服器密碼

#失敗處理
下面的選項控制,在多模組專案構建的中間階段,Maven如何應對構建失敗。

-fae, --fail-at-end 僅影響構建結果,允許不受影響的構建繼續

-ff, --fail-fast 遇到構建失敗就停下來

-fn,--fail-never 無論專案結果如何,構建從不失敗

-fn 和 -fae選項對於使用持續整合工具(例如Hunson)的多模組構建非常有用。 -ff 選項對於執行互動構建的開發者非常有用,因為開發者在開發週期中想得到快速的反饋。

#控制Maven的日誌級別
如果你想控制Maven的日誌級別,你可以使用下面三個命令列選項:
-e, --errors 產生執行錯誤相關訊息

-X, --debug 產生執行除錯資訊

-q, --quiet 僅僅顯示錯誤

只有出現錯誤或問題,-q 選項才打印一條訊息。-X 選項會列印大量的除錯日誌訊息,這個選項主要被Maven開發者和Maven外掛開發者用來診斷在開發過程中碰到的Maven程式碼問題。如果你想診斷依賴或路徑問題,-X 選項也非常有用。如果你是Maven開發者,或者你需要診斷Maven外掛的一個錯誤,那麼-e選項就會派上用場。如果你想報告Maven或Maven外掛的一個未預料到的問題,你應該傳遞-X 和 -e命令列選項。

#用批處理方式執行Maven
要在批處理模式下執行Maven,使用下面的選項:

-B, --batch-mode 在非互動(批處理)模式下執行

如果你需要在非互動、持續整合環境下執行Manve,必須要使用批處理模式。在非互動模式下執行,當Mven需要輸入時,它不會停下來接受使用者的輸入,而是使用合理的預設值。

#下載和驗證依賴
下面的命令列選項會影響Maven和遠端倉庫的互動以及Maven如何驗證下載的構件:
-C, --strict-checksums 如果校驗碼不匹配的話,構建失敗

-c, --lax-checksums 如果校驗碼不匹配的話,產生告警

-U, --update-snapshots 在遠端倉管更新發布版本或快照版本時,強制更新。

如果你關注安全,你就想帶 -C選項執行Maven。Maven倉庫為每個儲存在倉庫裡的構件維護一個MD5 和 SHA1 校驗碼。如果構件的校驗碼不匹配下載的構件,Maven預設被配置成告警終端使用者。如果傳遞-C 選項,當遇到帶著錯誤校驗碼的構件,會引起Maven構建失敗。如果你想確保Maven檢查所有快照依賴的最新版本,-U選項非常有用。

#控制外掛更新
下面的命令列選項告訴Maven,它將如何從遠端倉庫更新(或不更新)Maven外掛:

-npu,--no-plugin-updates 對任何相關的註冊外掛,不進行最新檢查。使用該選項使Maven表現出穩定行為,該穩定行為基於本地倉庫當前可用的所有外掛版本。

-cpu, --check-plugin-updates 對任何相關的註冊外掛,強制進行最新檢查。強制Maven檢查Maven外掛的最新發布版本,即使在你的專案POM裡明確規定了Maven外掛版本,還是會強制更新。

-up, --update-plugins cpu的同義詞.

下面的命令列選項影響Maven從遠處倉庫下載外掛的方式:

-npr, --no-plugin-registry 對外掛版本不使用~/.m2/plugin-registry.xml  裡的配置。

-npr 命令列選項告訴Maven不要參考外掛登錄檔。欲瞭解關於外掛登錄檔的更多資訊,去這裡:http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html.

#非遞迴構建
有時,你只想執行Maven構建,而不陷入專案子模組的構建。通過使用下面的命令列選項,你可以做到這點:

-N, --non-recursive 阻止Maven構建子模組。僅僅構建當前目錄包含的專案。

執行該命令列選項使Maven只為當前目錄下的專案執行生命週期中的目標或步驟。

#裁剪反應堆
-am, --also-make 同時構建所列模組的依賴模組。必須和-pl同時使用。如 mvn -pl test -am ,將同時構建test的依賴模組。

-amd, --also-make-dependents 同時構建依賴於所列模組的模組。必須和-pl同時使用。如 mvn -pl test -amd ,將同時構建所有依賴test的模組。

-pl, --projects <arg> 構建指定的模組,模組間用逗號分隔。可以用來切割大型maven專案,達到急速構建的目的。

-rf, --resume-from <arg> 讓反應堆從指定的模組開始構建。通俗點說就是指定從哪個模組開始構建。
本文版權歸作者所有,歡迎轉載,請務必新增原文連結。