Maven的配置指南
配置Maven
Maven配置發生在3個級別:
- 項目 - 大多數靜態配置發生在pom.xml中
- 安裝 - 這是Maven安裝時發生的一次性的配置過程
- 用戶 - 這是Maven提供基於特定用戶不同需求的配置,設置文件的默認位置是〜/ .m2 / settings.xml
Maven對不同配置需求分離非常明確 - 項目定義了適用於項目的信息,無論是誰構建,而其他人都定義了當前環境的設置。
注意:安裝和用戶配置不能用於添加共享項目信息 - 例如,在公司范圍內設置<organization>或<distributionManagement>。
為此,您應該讓您的項目繼承自公司范圍的父pom.xml。
您可以在$ {user.home} /.m2 / settings.xml中指定用戶配置。一個完整的參考配置文件是可用的。本節將介紹如何進行一些常見配置。請注意,該文件不是必需的 - 如果找不到,將使用默認值。
Maven配置本地存儲庫
Maven允許用戶配置中更改本地存儲庫的位置。默認值為$ {user.home} /.m2 / repository /。
<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>
注意:本地存儲庫必須是絕對路徑。
Maven配置代理
也可以在設置文件中指定代理配置。
有關更多信息,請參閱Maven使用代理指南。
配置並行工件解析
默認情況下,Maven 2.1.0+將同時下載最多5個工件(來自不同的組)。要更改線程池的大小,請使用-Dmaven.artifact.threads啟動Maven 。例如,要一次只下載單個工件:
mvn -Dmaven.artifact.threads=1 verify
您可能希望永久設置此選項,在這種情況下,您可以使用MAVEN_OPTS環境變量。例如:
export MAVEN_OPTS = -Dmaven.artifact.threads = 3
Maven安全和部署設置
要部署到的存儲庫是Maven的配置文件的<distributionManagement>部分的項目中定義的。但是,您無法在該項目中輸入用戶名,密碼或其他安全設置。因此,您應該將服務器定義添加到您自己的設置中,其id與項目中的部署存儲庫的ID相匹配。
此外,某些存儲庫可能需要授權才能從中下載,因此可以以相同的方式在服務器元素中指定相應的設置。
需要哪些設置取決於您要部署的存儲庫類型。從Maven第一個版本開始,默認情況下僅支持SCP部署和文件部署,因此只需要以下SCP配置:
<settings>
...
<servers>
<server>
<id>repo1</id>
<username>repouser</username>
<!-- other optional elements:
<password>my_login_password</password>
<privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
<passphrase>my_key_passphrase</passphrase>
-->
</server>
...
</servers>
...
</settings>
要加密這些部分中的密碼,請參閱Maven加密設置。
使用鏡像存儲庫
可以在項目內聲明存儲庫,這意味着如果您擁有自己的自定義存儲庫,那么共享項目的存儲庫可以輕松獲得開箱即用的正確設置。但是,您可能希望在不更改項目文件的情況下為特定存儲庫使用備用鏡像。有關更多詳細信息,請參閱Maven鏡像設置指南。
簡介
存儲庫配置也可以放入配置文件中。您可以擁有多個配置文件,其中一個配置為活動狀態,以便您可以輕松切換環境。了解更多關於Maven在配置文件中介紹來創建個人資料。
可選配置
使用上述配置,Maven將適用於大多數任務,但是如果您在單個項目之外有任何特定於環境的配置,則需要配置設置。以下部分涉及可用的內容。
設置
Maven有一個位於Maven安裝和/或用戶主目錄中的設置文件,用於配置環境細節,例如:
- HTTP代理服務器
- 存儲庫經理位置
- 服務器驗證和密碼
- 其他配置屬性
有關此文件的信息,請參閱Maven“ 設置”參考
安全
從Maven 2.1.0+開始,您可以加密設置文件中的密碼,但必須先配置主密碼。有關服務器密碼和主密碼的詳細信息,請參閱Maven的“密碼加密指南”。
工具鏈
從Maven 2.0.9+開始,您可以使用特定版本的JDK構建項目,該項目獨立於Maven運行的項目。有關更多信息,請參閱Maven的“使用工具鏈指南”。
