maven之setting.xml配置文件



setting.xml配置文件

maven的配置文件settings.xml存在于兩個地方:

1.安裝的地方:${M2_HOME}/conf/settings.xml

2.用戶的目錄:${user.home}/.m2/settings.xml

前者又被叫做全局配置,對操作系統(tǒng)的所有使用者生效;后者被稱為用戶配置,只對當前操作系統(tǒng)的使用者生效。如果兩者都存在,它們的內(nèi)容將被合并,并且用戶范圍的settings.xml會覆蓋全局的settings.xml。

Maven安裝后,用戶目錄下不會自動生成settings.xml,只有全局配置文件。如果需要創(chuàng)建用戶范圍的settings.xml,可以將安裝路徑下的settings復制到目錄${user.home}/.m2/。Maven默認的settings.xml是一個包含了注釋和例子的模板,可以快速的修改它來達到你的要求。

全局配置一旦更改,所有的用戶都會受到影響,而且如果maven進行升級,所有的配置都會被清除,所以要提前復制和備份${M2_HOME}/conf/settings.xml文件,一般情況下不推薦配置全局的settings.xml。

<?xml version="1.0"encoding="UTF-8">

<settings? xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<!-- 本地倉庫。該值表示構(gòu)建系統(tǒng)本地倉庫的路徑。其默認值為${user.home}/.m2/repository。 -->?

<localRepository>usr/local/maven<localRepository/>

<!-- Maven是否需要和用戶交互以獲得輸入。如果Maven需要和用戶交互以獲得輸入,則設(shè)置成true,反之則應(yīng)為false。默認為true。 -->

<interactiveMode>true<interactiveMode/>

上面的配置文件對各個節(jié)點的含義及作用都有注解。實際應(yīng)用中,經(jīng)常使用的是、、、有限幾個節(jié)點,其他節(jié)點使用默認值足夠應(yīng)對大部分的應(yīng)用場景。

節(jié)點

在倉庫的配置一節(jié)中,已經(jīng)對setting.xml中的常用節(jié)點做了詳細的說明。在這里需要特別介紹一下的是節(jié)點的配置,profile是maven的一個重要特性。

節(jié)點包含了激活(activation)倉庫(repositories),插件倉庫(pluginRepositories)屬性(properties)共四個子元素元素。profile元素僅包含這四個元素是因為他們涉及到整個的構(gòu)建系統(tǒng),而不是個別的項目級別的POM配置。

profile可以讓maven能夠自動適應(yīng)外部的環(huán)境變化,比如同一個項目,在Linux下編譯linux的版本,在win下編譯win的版本等。一個項目可以設(shè)置多個profile,也可以在同一時間設(shè)置多個profile被激活(active)的。自動激活的 profile的條件可以是各種各樣的設(shè)定條件,組合放置在activation節(jié)點中,也可以通過命令行直接指定。如果認為profile設(shè)置比較復雜,可以將所有的profiles內(nèi)容移動到專門的 profiles.xml 文件中,不過記得和pom.xml放在一起。

activation節(jié)點是設(shè)置該profile在什么條件下會被激活,常見的條件有如下幾個:

1.os

判斷操作系統(tǒng)相關(guān)的參數(shù),它包含如下可以自由組合的子節(jié)點元素

message - 規(guī)則失敗之后顯示的消息

arch - 匹配cpu結(jié)構(gòu),常見為x86

family - 匹配操作系統(tǒng)家族,常見的取值為:dos,mac,netware,os/2,unix,windows,win9x,os/400等

name - 匹配操作系統(tǒng)的名字

version - 匹配的操作系統(tǒng)版本號

display - 檢測到操作系統(tǒng)之后顯示的信息

2.jdk

檢查jdk版本,可以用區(qū)間表示。

3.property

檢查屬性值,本節(jié)點可以包含name和value兩個子節(jié)點。

4.file

檢查文件相關(guān)內(nèi)容,包含兩個子節(jié)點:exists和missing,用于分別檢查文件存在和不存在兩種情況。

如果settings中的profile被激活,那么它的值將覆蓋POM或者profiles.xml中的任何相等ID的profiles

如果想要某個profile默認處于激活狀態(tài),可以在中將該profile的id放進去。這樣,不論環(huán)境設(shè)置如何,其對應(yīng)的?profile都會被激活。

原文地址:http://blog.csdn.net/u012152619/article/details/51485152


setting.xml配置文件

maven的配置文件settings.xml存在于兩個地方:

1.安裝的地方:${M2_HOME}/conf/settings.xml

2.用戶的目錄:${user.home}/.m2/settings.xml

前者又被叫做全局配置,對操作系統(tǒng)的所有使用者生效;后者被稱為用戶配置,只對當前操作系統(tǒng)的使用者生效。如果兩者都存在,它們的內(nèi)容將被合并,并且用戶范圍的settings.xml會覆蓋全局的settings.xml。

Maven安裝后,用戶目錄下不會自動生成settings.xml,只有全局配置文件。如果需要創(chuàng)建用戶范圍的settings.xml,可以將安裝路徑下的settings復制到目錄${user.home}/.m2/。Maven默認的settings.xml是一個包含了注釋和例子的模板,可以快速的修改它來達到你的要求。

全局配置一旦更改,所有的用戶都會受到影響,而且如果maven進行升級,所有的配置都會被清除,所以要提前復制和備份${M2_HOME}/conf/settings.xml文件,一般情況下不推薦配置全局的settings.xml。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容