簡體   English   中英

為什么 maven 使用 settings.xml 中未配置的目錄中的本地存儲庫

[英]Why the maven uses the local repository in directory which is not configured in settings.xml

當我使用 maven 構建時,我看到了一個奇怪的行為。 我發現 maven 在一個目錄中使用本地 repo,這與我在 settings.xml 中配置的不同。 更糟糕的是,我不知道 maven 使用的目錄來自哪里。 為了調查,我在執行 maven cmd 時啟用了 -X,我可以看到使用了 setting.xml 和本地 repo 目錄。 我可以看到 settings.xml (全局和用戶)是我配置的。 而且本地repo目錄和我在tag中配置的完全不同(只在用戶settings.xml中配置)。

我不明白為什么。 有人有想法嗎? maven 是否會檢查其他任何配置文件以覆蓋 settings.xml 中的 localRepository 配置?

提前致謝。

由於您確定您的全局和用戶設置文件,那么本地存儲庫可以被系統/用戶屬性“maven.repo.local”覆蓋,這可以通過多種方式指定:

  1. 作為用戶屬性:來自 maven cli,如 mvn -Dmaven.repo.local= ...

  2. 作為系統屬性:在 MAVEN_OPTS 中設置時,如 -Dmaven.repo.local=(它可以在您的 maven.bat 或 maven.sh 中設置)

如果 maven.repo.local 未設置為用戶或系統屬性,則 maven 將首先在用戶設置中查找 localRepository 配置,然后在全局設置中查找:如果您在 localRepository (repo/dir1) 中指定相對路徑,則 repo 目錄將是在您的項目目錄下使用指定的路徑創建,如果沒有可用的選項,它使用路徑 /.m2/repository

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM