Maven的setting檔案配置
阿新 • • 發佈:2019-01-23
以下是結合自己專案的Maven配置
<!--表示Maven用來在本地儲存資訊的本地倉庫的目錄。預設是使用者資料夾下面的.m2/repository目錄 -->
<localRepository>D:\maven\maven_workspace</localRepository>
<!--表示是否使用互動模式,預設是true;如果設為false,那麼當Maven需要使用者進行輸入的時候,它會使用一個預設值 -->
<interactiveMode>true</interactiveMode>
<!--表示是否離線,預設是false。這個屬性表示在Maven進行專案編譯和部署等操作時是否允許Maven進行聯網來下載所需要的資訊-->
<offline>false</offline>
<!--在pluginGroups元素下面可以定義一系列的pluginGroup元素。表示當通過plugin的字首來解析plugin的時候到哪裡尋找。pluginGroup元素指定的是plugin的groupId。預設情況下,Maven會自動把org.apache.maven.plugins和org.codehaus.mojo新增到pluginGroups下-->
<pluginGroups></pluginGroups >
<!--其下面可以定義一系列的proxy子元素,表示Maven在進行聯網時需要使用到的代理。當設定了多個代理的時候第一個標記active為true的代理將會被使用-->
<proxies>
<proxy>
<id>xxx</id>
<active>true</active>
<protocol>http</protocol>
<username>使用者名稱</username>
<password>密碼</password>
<host>代理伺服器地址</host>
<port> 代理伺服器的埠</port>
<nonProxyHosts>不使用代理的主機</nonProxyHosts>
</proxy>
</proxies>
<!--連線到遠端伺服器-->
<servers>
<server>
<!--這是server的id(注意不是使用者登陸的id)-->
<id>tomcat</id>
<!--使用者名稱-->
<username>admin</username>
<!--密碼-->
<password>admin</password>
</server>
<server>
<id>central</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>hbrepos</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<!--用於定義一系列的遠端倉庫的映象。我們可以在pom中定義一個下載工件的時候所使用的遠端倉庫。但是有時候這個遠端倉庫會比較忙,所以這個時候人們就想著給它建立映象以緩解遠端倉庫的壓力,也就是說會把對遠端倉庫的請求轉換到對其映象地址的請求。每個遠端倉庫都會有一個id,這樣我們就可以建立自己的mirror來關聯到該倉庫,那麼以後需要從遠端倉庫下載工件的時候Maven就可以從我們定義好的mirror站點來下載,這可以很好的緩解我們遠端倉庫的壓力。在我們定義的mirror中每個遠端倉庫都只能有一個mirror與它關聯,也就是說你不能同時配置多個mirror的mirrorOf指向同一個repositoryId-->
<mirrors>
<mirror>
<!--是用來區別mirror的,所有的mirror不能有相同的id-->
<id>mirrorId</id>
<!--用來表示該mirror是關聯的哪一個倉庫,其值為其關聯倉庫的id。當要同時關聯多個倉庫時,這多個倉庫之間可以用逗號隔開;當要關聯所有的倉庫時,可以使用“*”表示;當要關聯除某一個倉庫以外的其他所有倉庫時,可以表示為“*,!repositoryId”;當要關聯不是localhost或用file請求的倉庫時,可以表示為“external:*”-->
<mirrorOf>repositoryId</mirrorOf>
<name>定義一個容易看懂的名稱 </name>
<!--表示該映象的url。當Maven在建立系統的時候就會使用這個url來連線到我們的遠端倉庫-->
<url>http://my.repository.com/repo/path</url>
</mirror>
</mirrors>
<!--根據環境引數來調整的構件的配置-->
<!--用於指定一系列的profile。profile元素由activation、repositories、pluginRepositories和properties四個元素組成。當一個profile在settings.xml中是處於活動狀態並且在pom.xml中定義了一個相同id的profile時,settings.xml中的profile會覆蓋pom.xml中的profile-->
<profiles>
<!--所有的約束條件都滿足的時候就會啟用這個profile-->
<profile>
<id>releases</id>
<!--用於定義遠端倉庫的,當該profile是啟用狀態的時候,這裡面定義的遠端倉庫將作為當前pom的遠端倉庫-->
<repositories>
<repository>
<id>releases</id>
<name></name>
<url>http://maven.XXXXX.net/content/groups/public/</url>
<layout>default</layout>
</repository>
</repositories>
<!--在Maven中有兩種型別的倉庫,一種是儲存工件的倉庫,另一種就是儲存plugin外掛的倉庫。pluginRepositories的定義和repositories的定義類似,它表示Maven在哪些地方可以找到所需要的外掛-->
<pluginRepositories>
<pluginRepository>
<id>releases</id>
<name></name>
<url>http://maven.XXXXX.net/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>jdk17</id>
<!--是profile中最重要的元素。跟pom.xml中的profile一樣,settings.xml中的profile也可以在特定環境下改變一些值,而這些環境是通過activation元素來指定的-->
<activation>
<!--當其值為true的時候表示如果沒有其他的profile處於啟用狀態的時候,該profile將自動被啟用-->
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<!--用於定義屬性鍵值對的。當該profile是啟用狀態的時候,properties下面指定的屬性都可以在pom.xml中使用-->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
<!--無論環境如何,啟用與之匹配的profiles(pom.xml)-->
<activeProfiles>
<activeProfile>releases</activeProfile>
</activeProfiles>