《Maven官方指南》Maven 配置
原文連結 譯者:carvendy
Maven 配置
Maven 配置發生有三個級別:
- Project – 靜態配置在pom.xml
- Installtion – 這個配置在maven的一次安裝中
- User – 這個配置指定部分使用者
這樣區分就清晰了 – 專案定義資訊應用於專案,無論是誰構建它,當其他人也從定義了一些配置作為環境變數。
注意:安裝和使用者配置不能被用於貢獻專案資訊 — 例子,你可以設定<organization> 和 <distributionManagement> 給全公司。
為了這個,你的專案應該從公司父級 pom.xml繼承過來。
你可以指定你的使用者配置 在==${user.home}/.m2/settings.xml==。一個
配置你的本地倉庫
你的本地倉庫能被你的使用者配置改變。預設值是==${user.home}/.m2/repository/==.
<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>
注意:這裡必須的絕對地址。
配置代理
代理配置可以指定在settings檔案。
瞭解更多資訊,可以看看使用代理。
配置並行工件解析
預設,Maven 2.1.0+將下載5個工件(從不同的組)馬上。為了改變執行緒池,啟動Maven時使用==-Dmaven.artifact.threads== 。 作為例子,只能下載簡單的工具了:
mvn -Dmaven.artifact.threads=1 clean install
你可能希望永久地設定選項,在這用例你可以使用==MAVEN_OPTS ==環境變數。作為例子:
export MAVEN_OPTS=-Dmaven.artifact.threads=3
許可權和釋出設定
倉庫釋出是定義在==<distributionManagement>選項。無論如何,你不能把使用者名稱和密碼或者其他許可權認證資訊放在專案裡。為了這個原因,你應該加入一個server定義到你自己的配置並使用id==作為匹配在你專案中釋出倉庫。
除此之外,一些倉庫可能需要許可權來下載,所以相應的設定可以指定在server
所需的設定將取決於您部署到的儲存庫的型別。作為第一個釋出,只有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>
為了加密密碼部分,請參考加密設定。
使用倉庫映象
倉庫是宣告在專案裡,意味著如果你有自己定義的倉庫,可以分享你專案和容易得到正確的配置。可是,你想使用可替代的特別倉庫而不改變專案檔案。請參考映象設定或者更多資訊。
Profiles
倉庫配置可以輸出到一個profile。你可以有多個Profile,並激活其中一個所以你可以容易地選擇環境變數。讀取更多Profile資訊在構建Profiles介紹。
可選配置
Maven講工作在很多工基於配置,可是如果你有任何環境知道配置在你專案之外的,你需要配置。跟著這些部參考什麼是可用的。
設定
Maven 有一個設定檔案位於Maven的安裝目錄或者使用者目錄,配置可用在環境中指定以下:
- HTTP代理
- 倉庫管理
- 服務端許可權和密碼
- 其他配置屬性
為了瞭解更多資訊,請看設定引用。
許可權
在Maven 2.1.0 以上,你可以加密密碼到你設定檔案,可是你必須先配置master密碼。為了瞭解更多資訊,server 密碼和master密碼,請看密碼加密指南。
工具鏈
在Maven 2.0.9以上,你可以構建一個專案使用指定獨立的jdk版本在你Maven執行的時候。為了瞭解更多,請看工具鏈指南。