我尝试运行mvn安装,它编译得很好,但由于某些原因,maven正试图安装到这个位置:
[INFO] Installing /home/username/workspace/projectname/pom.xml to
/home/username/workspace/projectname/?/.m2/repository/artifactname/artifact.pom
Run Code Online (Sandbox Code Playgroud)
注意,位置有一个?在里面.这个位置确实需要是主目录/ .m2.知道是什么导致它安装到错误的位置?
编辑:执行mvn --help:effective-settings给出:
<localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
/home/username/workspace/projectname/?/.m2/repository
</localRepository>
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我从不同的目录运行mvn --help:effective-settings,比如:/ tmp,它会给出:
<localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
/tmp/?/.m2/repository
</localRepository>
Run Code Online (Sandbox Code Playgroud)
请在您的项目上运行以下目标:
mvn help:effective-settings
Run Code Online (Sandbox Code Playgroud)
并检查localRepository(并使用值更新问题)的值.
后续行动:好的,到目前为止,事情是连贯的.下一个...
localRepository应该是默认值${user.home}/.m2/repository.仔细检查您是否未将其覆盖:
settings.xml从Maven的安装:$M2_HOME/conf/settings.xmlsettings.xml从用户的安装:${user.home}/.m2/settings.xml如果不是,请检查${user.home}(在项目上运行以下命令)的实际值:
mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=user.home
Run Code Online (Sandbox Code Playgroud)
如果未获得预期值,请检查%USERPROFILE%您是否在Windows上的实际值.
后续2:我不确定如何${user.home}在Linux下正确得到重视但是前一个问题Java:System.getProperty("user.home")返回"?"描述了同样奇怪的行为 - 并且解决方法:使用 64-在64位系统上运行JDK.
你正在使用什么JDK?在什么平台上?你可能处于相同的情况(在这种情况下,我真的认为这是一个JDK错误,32位JDK也应该在64位系统上返回正确的值).
后续3:这实际上是错误ID:6972329(未确认为JDK错误,可能是系统错误).
| 归档时间: |
|
| 查看次数: |
2447 次 |
| 最近记录: |