在控制台中覆盖M2_HOME不起作用

时间:2016-08-03 12:42:22

标签: maven path console

我的Maven M2_HOME环境变量存在问题。

每次我在控制台中覆盖变量时都会说:

M2_HOME is set to an invalid directory.
Please set the M2_HOME variable in your environment to match the
location of the Maven installation

这是我的配置。

我有两个maven安装,一个用于版本3.3.9,另一个用于版本3.2.5。 我需要一段时间版本3.2.5。

所以我创建了两个额外的环境变量M2_HOME_3_3_9和M2_HOME_3_2_5以及M2_HOME变量,当然它是PATH %M2_HOME%\bin的一部分。

默认情况下,M2_HOME设置为%M2_HOME_3_3_9%。

如果我需要maven 3.2.5我打开控制台并发送以下命令:

SET M2_HOME=%M2_HOME_3_2_5%

在那之后maven给我上面的错误。

如果我在环境设置中将M2_HOME更改为%M2_HOME_3_2_5%启动控制台,一切正常。

关于。

4 个答案:

答案 0 :(得分:1)

更改PATH后,您是否还修改了M2_HOME环境变量?

换句话说:PATH环境变量的内容是什么?

如果可执行文件maven文件位于%M2_HOME_3_2_5%/binM2_HOME指向%M2_HOME_3_3_9%,我猜你会遇到问题。

答案 1 :(得分:0)

您需要的唯一事情就是添加(设置)您想要在PATH中使用的maven发行版的bin文件夹。无需使用M2_HOME等。

此外,默认情况下,存储库位于$HOME/.m2/repository,您不应该更改它,并且最终不会更改为maven安装。不要这样做。您应该更改的settings.xml只是您自己的文件,位于$HOME/.m2/settings.xml。您应该阻止更改分发中的文件....

答案 2 :(得分:0)

sudo nano / etc / profile

JAVA_HOME=/opt/jdk1.8.0_73
export JAVA_HOME

M2_HOME=/opt/apache-maven-3.6.0
export M2_HOME

M2=$M2_HOME/bin
export M2

PATH=$PATH:$JAVA_HOME
PATH=$PATH:$M2
export PATH

更改您正在使用的java和maven的路径,在此文件的末尾添加上述行。 然后重新启动PC并在终端中检查以下各项:

echo $JAVA_HOME 
echo $M2_HOME
echo $M2

答案 3 :(得分:-1)

export %M2_HOME_3_2_5%=$HOME_3_2_5/builds/maven
export M2_HOME=%M2_HOME_3_2_5%
export M2_REPO=$M2_HOME/repository

在$ M2_HOME / conf中创建一个包含以下内容的settings.xml文件:

<settings>
<localRepository>${env.M2_HOME}/repository</localRepository>
</settings>