1. 程式人生 > >《Maven官方指南》Maven 配置

《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執行的時候。為了瞭解更多,請看工具鏈指南