繁体   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