首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么maven安装到了错误的位置?

为什么maven安装到了错误的位置?
EN

Stack Overflow用户
提问于 2010-08-28 01:20:36
回答 3查看 2.8K关注 0票数 3

我尝试运行一个mvn安装程序,它编译得很好,但是由于某些原因,maven试图安装到这个位置:

代码语言:javascript
复制
[INFO] Installing /home/username/workspace/projectname/pom.xml to 
/home/username/workspace/projectname/?/.m2/repository/artifactname/artifact.pom

注意,这个位置有一个?在里面。此位置实际上需要是主目录/.m2。你知道是什么原因导致它安装到错误的位置吗?

编辑:执行mvn --help:Edit settings提供:

代码语言:javascript
复制
  <localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
      /home/username/workspace/projectname/?/.m2/repository
  </localRepository>

有趣的是,如果我从一个不同的目录运行mvn --help:effective-settings,比如: /tmp,它会给出:

代码语言:javascript
复制
  <localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
      /tmp/?/.m2/repository
  </localRepository>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-28 01:43:15

请在您的项目上运行以下目标:

代码语言:javascript
复制
mvn help:effective-settings

并检查localRepository的值(并使用该值更新问题)。

后续:好的,到目前为止,一切都是连贯的。接下来..。

localRepository的默认值应该是${user.home}/.m2/repository。仔细检查,以确保您没有在以下位置覆盖它:

从Maven安装:$M2_HOME/conf/settings.xml

  • The settings.xml
  • The user's install:${user.home}/.m2/settings.xml

如果不是,请检查${user.home}的实际值(在项目上运行以下命令):

代码语言:javascript
复制
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 (未确认为错误,可能是系统错误)。

票数 9
EN

Stack Overflow用户

发布于 2010-08-28 01:31:59

查看settings.xml中localRepository的值。

票数 0
EN

Stack Overflow用户

发布于 2019-10-01 12:35:46

查看您的环境变量!检查您没有设置"MAVEN_OPTS“变量,因为它将覆盖所有其他设置。

我从另一台机器上剪切并粘贴了它,但没有注意到里面有:"-Dmaven.repo.local=XXXX“。(脸红)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3586631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档