我的本地maven构建由于插件依赖性无法解决而失败。我在SO上发现这很可能是由于未正确设置而导致的。所以我运行mvn clean install -X
来检查正在使用哪些设置文件。调试输出的相关部分是:
[DEBUG] Reading global settings from c:\Maven\apache-maven-3.2.5\conf\settings.xml
[DEBUG] Reading user settings from h:\.m2\settings.xml
[DEBUG] Using local repository at C:\Maven\apache-maven-3.2.5\repo
本地存储库在全局和本地settings.xml中定义为:
<localRepository>C:\.m2\repository\</localRepository>
我已经能够通过命令行覆盖本地存储库来成功构建:
mvn clean install -Dmaven.repo.local=my/local/repo
我的M2_HOME
环境变量为C:\Maven\apache-maven-3.2.5
命令行修复可以作为一种解决方法,但它并不理想。没有在pom.xml中定义本地存储库。
除了设置文件之外,还有其他地方可以定义本地存储库,因此是否覆盖了settings.xml中的配置?
答案 0 :(得分:3)
有三种(一半)方法可以配置您的本地仓库:
<MAVEN_HOME>/conf/settings.xml
<USER_HOME>/.m2/settings.xml
mvn clean install -Dmaven.repo.local=my/local/repo
mvn
次调用。请参阅Is there a way to tell maven where to place the artifacts? MAVEN_OPTS
方式应该是您正在寻找的方式。