我尝试运行一个mvn安装程序,它编译得很好,但是由于某些原因,maven试图安装到这个位置:
[INFO] Installing /home/username/workspace/projectname/pom.xml to
/home/username/workspace/projectname/?/.m2/repository/artifactname/artifact.pom注意,这个位置有一个?在里面。此位置实际上需要是主目录/.m2。你知道是什么原因导致它安装到错误的位置吗?
编辑:执行mvn --help:Edit settings提供:
<localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
/home/username/workspace/projectname/?/.m2/repository
</localRepository>有趣的是,如果我从一个不同的目录运行mvn --help:effective-settings,比如: /tmp,它会给出:
<localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
/tmp/?/.m2/repository
</localRepository>发布于 2010-08-28 01:43:15
请在您的项目上运行以下目标:
mvn help:effective-settings并检查localRepository的值(并使用该值更新问题)。
后续:好的,到目前为止,一切都是连贯的。接下来..。
localRepository的默认值应该是${user.home}/.m2/repository。仔细检查,以确保您没有在以下位置覆盖它:
从Maven安装:$M2_HOME/conf/settings.xml
settings.xml ${user.home}/.m2/settings.xml如果不是,请检查${user.home}的实际值(在项目上运行以下命令):
mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=user.home如果你没有得到期望值,如果你在Windows上,检查%USERPROFILE%的实际值。
后续文章2:我不确定${user.home}在Linux下的价值到底是什么,但前面的这个问题Java: System.getProperty(“user.home”) returns “?”描述了同样奇怪的行为--以及一个变通方法:使用 的。
你到底在用什么JDK?在什么平台上?您是否会遇到同样的情况(在这种情况下,我真的认为这是一个JDK错误,32位JDK在64位系统上也应该返回正确的值)。
JDK后续文章3:这实际上是Bug ID: 6972329 (未确认为错误,可能是系统错误)。
发布于 2010-08-28 01:31:59
查看settings.xml中localRepository的值。
发布于 2019-10-01 12:35:46
查看您的环境变量!检查您没有设置"MAVEN_OPTS“变量,因为它将覆盖所有其他设置。
我从另一台机器上剪切并粘贴了它,但没有注意到里面有:"-Dmaven.repo.local=XXXX“。(脸红)
https://stackoverflow.com/questions/3586631
复制相似问题