代码之家  ›  专栏  ›  技术社区  ›  Cuga

为什么maven安装到了错误的地方?

  •  3
  • Cuga  · 技术社区  · 14 年前

    我尝试运行mvn安装,它编译得很好,但出于某种原因,maven正在尝试安装到以下位置:

    [INFO] Installing /home/username/workspace/projectname/pom.xml to 
    /home/username/workspace/projectname/?/.m2/repository/artifactname/artifact.pom
    

    注意,该位置有一个?在里面。这个位置必须是主目录/.m2。知道是什么导致它安装到错误的位置吗?

      <localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
          /home/username/workspace/projectname/?/.m2/repository
      </localRepository>
    

    有趣的是,如果我运行mvn--帮助:有效设置另一个目录,比如:/tmp,它提供:

      <localRepository xmlns="http://maven.apache.org/SETTINGS/1.0.0">
          /tmp/?/.m2/repository
      </localRepository>
    
    2 回复  |  直到 14 年前
        1
  •  9
  •   Community Reversed Engineer    7 年前

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

    mvn help:effective-settings
    

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

    好的,到目前为止,事情是一致的。下一个。。。

    的默认值 本地存储库 应该是的 ${user.home}/.m2/repository . 再次检查是否在以下位置覆盖它:

    • settings.xml $M2_HOME/conf/settings.xml
    • 这个 设置.xml ${user.home}/.m2/settings.xml

    如果没有,请检查 ${user.home}

    mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=user.home
    

    如果没有得到期望值,请检查 %USERPROFILE% 如果你在窗户上。

    后续2: 我不知道怎么做 在Linux下得到精确的值,但是前面的问题 Java: System.getProperty(“user.home”) returns “?” 64-bit JDK on a 64-bit system .

    你到底在用什么JDK?在哪个站台?您是否也会遇到同样的情况(在这种情况下,我真的认为这是一个JDK错误,32位JDK在64位系统上也应该返回正确的值)。

    Bug ID: 6972329

        2
  •  0
  •   extraneon    14 年前

    在中查看localRepository的值 settings.xml .

        3
  •  0
  •   user3852017    5 年前

    检查您是否没有设置“MAVEN\u OPTS”变量,因为它将覆盖所有其他设置。

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