maven setting.xml 中文配置詳解(全配置)


<?xml version="1.0" encoding="UTF-8"?>
<!--| 官方文檔: https://maven.apache.org/settings.html|| Maven 提供以下兩種 level 的配置:||  1. User Level.      當前用戶獨享的配置, 通常在 ${user.home}/.m2/settings.xml 目錄下。 |                      可在 CLI 命令行中通過以下參數設置:  -s /path/to/user/settings.xml||  2. Global Level.    同一臺計算機上的所有 Maven 用戶共享的全局配置。 通常在${maven.home}/conf/settings.xml目錄下。|                      可在 CLI 命令行中通過以下參數設置:  -gs /path/to/global/settings.xml||  備注:  User Level 優先級 > Global Level|--><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!--| Maven 依賴搜索順序, 當我們執行 Maven 命令時, Maven 開始按照以下順序查找依賴的庫: || 步驟 1 - 在本地倉庫中搜索, 如果找不到, 執行步驟 2, 如果找到了則執行其他操作。| 步驟 2 - 在中央倉庫中搜索, 如果找不到, 并且有一個或多個遠程倉庫已經設置, 則執行步驟 4, 如果找到了則下載到本地倉庫中已被將來引用。| 步驟 3 - 如果遠程倉庫沒有被設置, Maven 將簡單的停滯處理并拋出錯誤(無法找到依賴的文件)。| 步驟 4 - 在一個或多個遠程倉庫中搜索依賴的文件, 如果找到則下載到本地倉庫已被將來引用, 否則 Maven 將停止處理并拋出錯誤(無法找到依賴的文件)。|--><!-- 地倉庫路徑, 默認值: ${user.home}/.m2/repository --><localRepository>${user.home}/workspace/env/maven/repository</localRepository><!-- 當 maven 需要輸入值的時候, 是否交由用戶輸入, 默認為true;false 情況下 maven 將根據使用配置信息進行填充 --><interactiveMode>true</interactiveMode><!-- 是否支持聯網進行 artifact 下載、 部署等操作, 默認: false --><offline>false</offline><!-- | 搜索插件時, 如果 groupId 沒有顯式提供時, 則以此處配置的 groupId 為默認值, 可以簡單理解為默認導入這些 groupId 下的所有 artifact(需要時才下載)| 默認情況下該列表包含了 org.apache.maven.plugins和org.codehaus.mojo|| 查看插件信息: |    mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compiler-plugin:3.5.1 -Ddetail|--><pluginGroups><!-- plugin 的 groupId --><!--<pluginGroup>com.your.plugins</pluginGroup>--></pluginGroups><!-- 進行遠程服務器訪問時所需的授權配置信息。通過系統唯一的 server-id 進行唯一關聯 --><servers><server><!-- 這是 server 的 id, 該 id 與 distributionManagement 中 repository 元素的id 相匹配 --><id>server_id</id><!-- 鑒權用戶名 --><username>auth_username</username><!-- 鑒權密碼 --><password>auth_pwd</password><!-- 鑒權時使用的私鑰位置。和前兩個元素類似, 私鑰位置和私鑰密碼指定了一個私鑰的路徑(默認是/home/hudson/.ssh/id_dsa)以及如果需要的話, 一個密鑰 --><privateKey>path/to/private_key</privateKey><!-- 鑒權時使用的私鑰密碼, 非必要, 非必要時留空 --><passphrase>some_passphrase</passphrase><!-- | 文件被創建時的權限。如果在部署的時候會創建一個倉庫文件或者目錄, 這時候就可以使用權限(permission)| 這兩個元素合法的值是一個三位數字, 其對應了unix文件系統的權限, 如664, 或者775 |--><filePermissions>664</filePermissions><!-- 目錄被創建時的權限 --><directoryPermissions>775</directoryPermissions><!-- 傳輸層額外的配置項 --><configuration></configuration></server></servers><!-- | 從遠程倉庫才下載 artifacts 時, 用于替代指定遠程倉庫的鏡像服務器配置;| | 例如當您無法連接上國外的倉庫是, 可以指定連接到國內的鏡像服務器;|| pom.xml 和 setting.xml 中配置的倉庫和鏡像優先級關系(mirror 優先級高于 repository): ||    repository(setting.xml) < repository(pom.xml) < mirror(setting.xml)||    例如, 如果配置了 mirrorOf = *,  則 不管項目的 pom.xml 配置了什么倉庫, 最終都會被鏡像到 鏡像倉庫||  私服的配置推薦用profile配置而不是mirror|--><mirrors><!-- | 【mirro 匹配順序】: | 多個 mirror 優先級 按照 id字母順序進行排列(即與編寫的順序無關)| 在第一個 mirror 找不到 artifact, 不會繼續超找下一個鏡像。| 只有當 mirror 無法鏈接的時候, 才會嘗試鏈接下一個鏡像, 類似容災備份。|--><!-- 上海交通大學反向代理 --> <mirror><!-- 該鏡像的唯一標識符, id用來區分不同的 mirror 元素, 同時會套用使用 server 中 id 相同授權配置鏈接到鏡像 --><id>sjtugmaven</id><!-- 鏡像名稱, 無特殊作用, 可視為簡述 --><name>sjtug maven proxy</name><!-- 鏡像地址 --><url>https://mirrors.sjtug.sjtu.edu.cn/maven-central/</url><!-- 被鏡像的服務器的id, 必須與 repository 節點設置的 ID 一致。但是 This must not match the mirror id| mirrorOf 的配置語法: | *           = 匹配所有遠程倉庫。 這樣所有 pom 中定義的倉庫都不生效| external:*  = 匹配除 localhost、使用 file:// 協議外的所有遠程倉庫| repo1,repo2 = 匹配倉庫 repo1 和 repo2| *,!repo1    = 匹配所有遠程倉庫, repo1 除外|--><mirrorOf>central</mirrorOf></mirror></mirrors><!-- 用來配置不同的代理, 多代理 profiles 可以應對筆記本或移動設備的工作環境: 通過簡單的設置 profile id 就可以很容易的更換整個代理配置 --><proxies><!-- 代理元素包含配置代理時需要的信息 --><proxy><!-- 代理的唯一定義符, 用來區分不同的代理元素 --><id>example_proxy</id><!-- 該代理是否是激活的那個。true則激活代理。當我們聲明了一組代理, 而某個時候只需要激活一個代理的時候, 該元素就可以派上用處 --><active>false</active><!-- 代理的協議 --><protocol>https</protocol><!-- 代理的主機名 --><host>proxy.molo.com</host><!-- 代理的端口 --><port>443</port><!-- 代理服務器認證的登錄名 --><username>proxy_user</username><!-- 代理服務器認證登錄密碼 --><password>proxy_pwd</password><!-- 不該被代理的主機名列表。該列表的分隔符由代理服務器指定;例子中使用了豎線分隔符, 使用逗號分隔也很常見 --><nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts></proxy></proxies><!--| 構建方法的配置清單, maven 將根據不同環境參數來使用這些構建配置。| settings.xml 中的 profile 元素是 pom.xml 中 profile 元素的裁剪版本。| settings.xml 負責的是整體的構建過程, pom.xml 負責單獨的項目對象構建過程。| settings.xml 只包含了id, activation, repositories, pluginRepositories 和 properties 元素。| | 如果 settings 中的 profile 被激活, 它的值會覆蓋任何其它定義在 pom.xml 中或 profile.xml 中的相同 id 的 profile。|| 查看當前激活的 profile:|   mvn help:active-profiles|--><profiles><profile><!-- 該配置的唯一標識符 --><id>profile_id</id><!--| profile 的激活條件配置;| 其他激活方式: | 1. 通過 settings.xml 文件中的 activeProfile 元素進行指定激活。| 2. 在命令行, 使用-P標記和逗號分隔的列表來顯式的激活, 如: mvn clean package -P myProfile)。 |--><activation><!-- 是否默認激活 --><activeByDefault>false</activeByDefault><!--  內建的 java 版本檢測, 匹配規則: https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html --><jdk>9.9</jdk><!-- 內建操作系統屬性檢測, 配置規則: https://maven.apache.org/enforcer/enforcer-rules/requireOS.html --><os><!-- 操作系統 --><name>Windows XP</name><!-- 操作系統家族 --><family>Windows</family><!-- 操作系統 --><arch>x86</arch><!-- 操作系統版本 --><version>5.1.2600</version></os><!--| 如果Maven檢測到某一個屬性(其值可以在POM中通過${名稱}引用), 并且其擁有對應的名稱和值, Profile就會被激活。| 如果值字段是空的, 那么存在屬性名稱字段就會激活profile, 否則按區分大小寫方式匹配屬性值字段|--><property><!-- 屬性名 --><name>mavenVersion</name><!-- 屬性值 --><value>2.0.3</value></property><!-- 根據文件存在/不存在激活profile --><file><!-- 如果指定的文件存在, 則激活profile --><exists>/path/to/active_on_exists</exists><!-- 如果指定的文件不存在, 則激活profile --><missing>/path/to/active_on_missing</missing></file></activation><!-- 擴展屬性設置。擴展屬性可以在 POM 中的任何地方通過 ${擴展屬性名} 進行引用|| 屬性引用方式(包括擴展屬性, 共 5 種屬性可以引用): || env.x                  : 引用 shell 環境變量, 例如, "env.PATH"指代了 $path 環境變量(在 Linux / Windows 上是 %PATH% ).| project.x              : 引用 pom.xml(根元素就是 project) 中 xml 元素內容.例如 ${project.artifactId} 可以獲取 pom.xml 中設置的 <artifactId /> 元素的內容| settings.x             : 引用 setting.xml(根元素就是 setting) 中 xml 元素內容, 例如 ${settings.offline}| Java System Properties : 所有可通過 java.lang.System.getProperties() 訪問的屬性都能在通過 ${property_name} 訪問, 例如 ${java.home}| x                      : 在 <properties/> 或者 外部文件 中設置的屬性, 都可以 ${someVar} 的形式使用| |--><properties><!-- 在當前 profile 被激活時,  ${profile.property} 就可以被訪問到了 --><profile.property>this.property.is.accessible.when.current.profile.actived</profile.property></properties><!-- 遠程倉庫列表 --><repositories><!-- | releases vs snapshots| maven 針對 releases、snapshots 有不同的處理策略, POM 就可以在每個單獨的倉庫中, 為每種類型的 artifact 采取不同的策略| 例如: |     開發環境 使用 snapshots 模式實時獲取最新的快照版本進行構建|     生成環境 使用 releases 模式獲取穩定版本進行構建| 參見repositories/repository/releases元素 |--><!--| 依賴包不更新問題:                | 1. Maven 在下載依賴失敗后會生成一個.lastUpdated 為后綴的文件。如果這個文件存在, 那么即使換一個有資源的倉庫后, Maven依然不會去下載新資源。|    可以通過 -U 參數進行強制更新、手動刪除 .lastUpdated 文件:|      find . -type f -name "*.lastUpdated" -exec echo {}" found and deleted" \; -exec rm -f {} \;|| 2. updatePolicy 設置更新頻率不對, 導致沒有觸發 maven 檢查本地 artifact 與遠程 artifact 是否一致|--><repository><!-- 遠程倉庫唯一標識 --><id>maven_repository_id</id><!-- 遠程倉庫名稱 --><name>maven_repository_name</name><!-- 遠程倉庫URL, 按protocol://hostname/path形式 --><url>http://host/maven</url><!-- | 用于定位和排序 artifact 的倉庫布局類型-可以是 default(默認)或者 legacy(遺留)| Maven 2為其倉庫提供了一個默認的布局;然而, Maven 1.x有一種不同的布局。我們可以使用該元素指定布局是default(默認)還是legacy(遺留)| --><layout>default</layout><!-- 如何處理遠程倉庫里發布版本的下載 --><releases><!-- 是否允許該倉庫為 artifact 提供 發布版 / 快照版 下載功能 --><enabled>false</enabled><!-- | 每次執行構建命令時, Maven 會比較本地 POM 和遠程 POM 的時間戳, 該元素指定比較的頻率。| 有效選項是: |     always(每次構建都檢查), daily(默認, 距上次構建檢查時間超過一天), interval: x(距上次構建檢查超過 x 分鐘)、 never(從不)|| 重要: |     設置為 daily, 如果 artifact 一天更新了幾次, 在一天之內進行構建, 也不會從倉庫中重新獲取最新版本|--><updatePolicy>always</updatePolicy><!-- 當 Maven 驗證 artifact 校驗文件失敗時該怎么做: ignore(忽略), fail(失敗), 或者warn(警告) --><checksumPolicy>warn</checksumPolicy></releases><!-- 如何處理遠程倉庫里快照版本的下載 --><snapshots><enabled /><updatePolicy /><checksumPolicy /></snapshots></repository><!-- 國內可用的 maven 倉庫地址(updated @ 2019-02-08):http://maven.aliyun.com/nexus/content/groups/publichttp://maven.wso2.org/nexus/content/groups/public/http://jcenter.bintray.com/http://maven.springframework.org/release/http://repository.jboss.com/maven2/http://uk.maven.org/maven2/http://repo1.maven.org/maven2/http://maven.springframework.org/milestonehttp://maven.jeecg.org/nexus/content/repositories/http://repo.maven.apache.org/maven2http://repo.spring.io/release/http://repo.spring.io/snapshot/http://mavensync.zkoss.org/maven2/https://repository.apache.org/content/groups/public/https://repository.jboss.org/nexus/content/repositories/releases/   --></repositories><!-- | maven 插件的遠程倉庫配置。maven 插件實際上是一種特殊類型的 artifact。| 插件倉庫獨立于 artifact 倉庫。pluginRepositories 元素的結構和 repositories 元素的結構類似。|--><!--<pluginRepositories><pluginRepository><releases><enabled /><updatePolicy /><checksumPolicy /></releases><snapshots><enabled /><updatePolicy /><checksumPolicy /></snapshots><id /><name /><url /><layout /></pluginRepository></pluginRepositories>--></profile></profiles><!--| 手動激活 profiles 的列表, 按照 profile 被應用的順序定義 activeProfile| 任何 activeProfile, 不論環境設置如何, 其對應的 profile 都會被激活, maven 會忽略無效(找不到)的 profile|--><!--<activeProfiles><activeProfile>not-exits-profile</activeProfile></activeProfiles>--></settings>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249624.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249624.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249624.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

String/Stringbuilder/StringBuffer

三個的運行速度&#xff1a;Stringbuilder>Stringbuffer>String String最慢是因為它是字符串常量&#xff0c;而其他兩個是字符串變量。其中stringbuilder是非線程安全的、stringbuffer是線程安全的Stringbuilder適用于單線程且數據量大的字符串操作Stringbuffer適用于多…

CCF 差分約束--201809再賣菜

問題描述 在一條街上有n個賣菜的商店&#xff0c;按1至n的順序排成一排&#xff0c;這些商店都賣一種蔬菜。   第一天&#xff0c;每個商店都自己定了一個正整數的價格。店主們希望自己的菜價和其他商店的一致&#xff0c;第二天&#xff0c;每一家商店都會根據他自己和相鄰商…

Express + Element-ui 實現圖片/文件上傳

使用第三方插件 formidable 處理表單數據/文件 Express 4 以前&#xff0c;我們通常使用 req.files 來對請求中的文件進行處理&#xff0c;但在 Express 4 中這種用法已經被拋棄&#xff0c;默認情況下 req.files 在 req 對象上不再可用。官方推薦我們使用第三方中間件。 在這里…

weblogic12.1.3安裝

weblogic weblogic12.1.3安裝 環境&#xff1a; centos7.5 ip: 192.168.0.94 1、安裝jdk 2、安裝 weblogic 下載、解壓安裝包 wls1213_dev.zip unzip /application/weblogic12/wls1213_dev.zip mv wls12130 /application/weblogic12/ 配置環境變量 配置主機名解析 運行安裝…

閉包那些事

定義&#xff1a; 在一個內部函數里&#xff0c; 對在外部作用域&#xff08;但不是在全局作用域&#xff09; 的變量進行引用&#xff0c; 那么內部函數就被認為是閉包&#xff08;closure&#xff09;。 例子&#xff1a; 1 def make_adder(addend):2 def adder(augend):3 …

10-04 矩形覆蓋(斐波那契數列的應用)

題目描述&#xff1a; 我們可以用2*1的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個2*1的小矩形無重疊地覆蓋一個2*n的大矩形&#xff0c;總共有多少種方法&#xff1f; 解題思路與代碼&#xff1a; 1&#xff09; 排列組合&#xff1a; class Solution { public:int rectC…

Spring 源碼分析 spring-core

先來看下 spring-core 的包結構 總共有6個模塊&#xff0c;分別是 asm、cglib、core、lang、objenesis、util asm包&#xff1a; 用來操作字節碼&#xff0c;動態生成類或者增強既有類的功能。主要包含以下這些類。詳細功能。 https://www.ibm.com/developerworks/cn/java/j…

logging 模塊

一、logging模塊級別及常用函數 默認的level是logging.Warning,低于該級別的就不輸出了。級別排序:Critical> Error > Warning > Info > Debug Logging.Formatter&#xff1a;配置日志的格式&#xff0c;在里面自定義設置日期和時間&#xff0c;輸出日志的時候將會…

大數據項目中的QA需要迎接新的挑戰

大數據項目中的QA需要迎接新的挑戰根據IDC全球半年度大數據和分析支出指南的最新預測&#xff0c;到2022年全球大數據和業務分析解決方案的收入將達到2600億美元。在大數據和業務分析解決方案上投資增長最快的行業包括銀行&#xff08;復合年增長率13.3%&#xff09;、醫療、保…

spring源碼分析之spring-core總結篇

1.spring-core概覽 spring-core是spring框架的基石&#xff0c;它為spring框架提供了基礎的支持。 spring-core從源碼上看&#xff0c;分為6個package&#xff0c;分別是asm&#xff0c;cglib&#xff0c;core&#xff0c;lang&#xff0c;objenesis和util。 1.1 asm 關于as…

五分鐘搞懂后綴數組!

為什么學后綴數組 后綴數組是一個比較強大的處理字符串的算法&#xff0c;是有關字符串的基礎算法&#xff0c;所以必須掌握。 學會后綴自動機(SAM)就不用學后綴數組(SA)了&#xff1f;不&#xff0c;雖然SAM看起來更為強大和全面&#xff0c;但是有些SAM解決不了的問題能被SA解…

spring-core

spring最核心的組件是BeanFactory&#xff0c;看了源碼才發現&#xff0c;BeanFactory并非定義在spring-core中&#xff0c;那spring-core都有啥東東&#xff1f; spring-core主要提供以下服務&#xff0c;為BeanFactory的定義提供基礎服務。 1, ConversionService Conversi…

nginx配置靜態文件過期時間

1. 編輯虛擬主機配置文件/usr/local/nginx/conf/vhosts/huangzhenping.conf 說明&#xff1a;采用location方式 12345678910location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${access_log off;expires 1d;}location ~ \.(js|css){access_log off;expires 1d;}2. 檢查配置文件&#x…

vue 移動端在div上綁定click事件 失效

在.vue的文件中使用了better-scroll&#xff0c;在div標簽上綁定click事件后&#xff0c;無效。 原因&#xff1a;使用了better-scroll&#xff0c;默認它會阻止touch事件。所以在配置中需要加上click: true 即可解決 mounted(){this.$nextTick(() > {let bscrollDom this.…

Java中的鉤子方法

鉤子方法是啥 鉤子顧名思義就是用來掛東西的。那么要掛東西必須有個被掛的東西&#xff0c;要不就是鐵環、要不就是墻的邊沿。所以要能掛住東西必須要有個被勾住的鐵環&#xff0c;要一個鉤子。那么在java中也是同樣的原理&#xff0c;你首先需要一個被掛在的東西&#xff0c;一…

啟動tomcat出現too many connections的原因及解決方法

感謝分享&#xff0c;原文地址&#xff1a;http://blog.sina.com.cn/s/blog_e7e07ec30102vsba.html一、原因 產生too many connections 的直接原因是因為數據庫提供的連接被全部占滿了。數據庫可以提供多少連接&#xff0c;可以再my.cnf(linux)或者my.ini(windows)下設定。這個…

Spring Beans 初始化流程分析

測試用例 依然使用這個官網上的用例&#xff0c;來進行調試&#xff1b; Person.java package org.shangyang.spring.container;/**- - author shangyang**/public class Person {String name;Person spouse;public String getName() {return name;}public void setName(Stri…

劍指offer(65)矩陣中的路徑

題目描述 請設計一個函數&#xff0c;用來判斷在一個矩陣中是否存在一條包含某字符串所有字符的路徑。路徑可以從矩陣中的任意一個格子開始&#xff0c;每一步可以在矩陣中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移動一個格子。如果一條路徑經過了矩陣中的某一個…

VSCode中怎么改變文件夾的圖標

昨天更新了VSCode后我的文件夾圖標莫名其妙的沒有了&#xff0c;變成了下圖這樣 看著真的讓我難受的頭皮發麻&#xff0c;本來打代碼就頭發少&#xff0c;難道非要讓我變成禿頭&#xff0c;不可能不可能&#xff0c;所以我找了找怎么解決 來&#xff0c;各位看官上眼 如圖所示 …