
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é)中,已經(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。