檢視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
如果這些檔案同時存在,在應用配置時,會合並它們的內容,如果有重複的配置,優先順序高的配置會覆蓋優先順序低的。