Maven从错误的地方读取settings.xml

时间:2018-04-23 11:17:12

标签: maven maven-3 ubuntu-16.04

我是Maven和Ubuntu的新手。我在构建maven项目时遇到了麻烦。当我运行mvn clean -X命令时,我可以看到下面的DEBUG日志。

[DEBUG] Reading global settings from /space/user/programs/apache-maven-3.5.3/conf/settings.xml
[DEBUG] Reading user settings from ?/.m2/settings.xml
[DEBUG] Reading global toolchains from /space/user/programs/apache-maven-3.5.3/conf/toolchains.xml
[DEBUG] Reading user toolchains from ?/.m2/toolchains.xml
[DEBUG] Using local repository at /space/user/git/receiver/?/.m2/repository

我在.bashrc文件

中有以下设置
export JAVA_HOME=/space/user/programs/jdk1.8.0_162
export M2_HOME=/space/user/programs/apache-maven-3.5.3
export MAVEN_HOME=/space/user/programs/apache-maven-3.5.3

我在settings.xml文件夹

中有/home/user/.m2个文件

为什么maven没有选择/home/user/.m2/settings.xml?我在这里失踪的是什么?如果您需要任何进一步的信息,请告诉我,我会更新问题。

我正在使用Ubuntu 16.04。

更新: 输出mvn --version命令

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z)
Maven home: /space/user/programs/apache-maven-3.5.3
Java version: 1.8.0_162, vendor: Oracle Corporation
Java home: /space/user/programs/jdk1.8.0_162/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.13.0-37-generic", arch: "i386", family: "unix"

更新: 像mvn --settings /home/user/.m2/settings.xml clean -X这样在命令行上覆盖设置可以正常工作。但这不是我想要的解决方案。

1 个答案:

答案 0 :(得分:1)

解决方案是在64位系统上使用64位JDK。我以某种方式复制了32位JDK,这就是问题所在。它按预期工作,具有64位运行时。

这个问题帮助我解决了这个问题 - Java: System.getProperty("user.home") returns "?"