1. 程式人生 > >檢視maven倉庫配置最終生效地址和settings.xml配置優先順序

檢視maven倉庫配置最終生效地址和settings.xml配置優先順序

主要參考: https://stackoverflow.com/questions/5916157/how-to-get-the-maven-local-repo-location

1. 如果是隻需要檢視本地倉庫的話可以使用如下命令:(注意用於linux系統,在windows下不能執行,會提示'grep' 不是內部或外部命令,也不是可執行的程式或批處理檔案。)

mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'

2. 在執行maven命令時,新增-X 或者 -debug引數(注意區分大小寫)

mvn -X

會打印出相關結果

3. 使用如下命令(注意:首次使用開始會下載jar包,這很正常)

mvn help:effective-settings

這裡的 <localRepository>D:\softs\maven\mvnRepository</localRepository>

就是我的本地倉庫

注意:視窗亂碼情況可以通過新增環境變數

或者在執行檔案配置set MAVEN_OPTS=-Xms128m -Xmx512m -Dfile.encoding=UTF-8

如果你沒有做任何特殊配置的話,

從Maven中心倉庫下載到本地的jar包的預設存放在”${user.home}/.m2/repository”中,可以自定義倉庫目錄,需要修改settins.xml

settings.xml檔案是幹什麼的,為什麼要配置它呢?
從settings.xml的檔名就可以看出,它是用來設定maven引數的配置檔案。並且,settings.xml是maven的全域性配置檔案。而pom.xml檔案是所在專案的區域性配置。
Settings.xml中包含類似本地倉儲位置、修改遠端倉儲伺服器、認證資訊等配置。

settings.xml檔案位置

settings.xml檔案一般存在於兩個位置:
全域性配置: ${M2_HOME}/conf/settings.xml
使用者配置: user.home/.m2/settings.xmlnote:使用者配置優先於全域性配置。

{user.home} 和和所有其他系統屬性只能在3.0+版本上使用。請注意windows和Linux使用變數的區別。

配置優先順序

需要注意的是:區域性配置優先於全域性配置
配置優先順序從高到低:pom.xml> user settings > global settings
如果這些檔案同時存在,在應用配置時,會合並它們的內容,如果有重複的配置,優先順序高的配置會覆蓋優先順序低的。