Hudson错误:M2_HOME设置为无效目录

时间:2013-09-16 23:19:16

标签: maven hudson environment-variables environment

我使用的是装有Windows 7的电脑,我已经安装了Hudson。我已经安装了一段时间了,到现在为止一直很好。

有些事发生了变化。现在,每当我尝试构建项目时,在从SVN成功检出项目后,它都会失败并显示以下消息:

ERROR: M2_HOME is set to an invalid directory.
M2_HOME = "C:\Build\Hudson\.hudson\jobs\Score_Plugin\workspace\.."
Please set the M2_HOME variable in your environment to match the
location of the Maven installation

我无法弄清楚为什么它会给我这个错误。为什么Hudson试图在自己的工作空间中找到M2_HOME?我尝试了以下内容,这似乎说我的环境中的Maven安装很好:

1。我打开了一个CMD并输入`where mvn`并获得以下内容:

C:\Build\Maven\apache-maven-3.0.5\bin\mvn
C:\Build\Maven\apache-maven-3.0.5\bin\mvn

2。我输入了`mvn -version`并得到了这个:

Apache Maven 3.0.5 <r01de14724cdef164cd33c7c82fe155faf9602da; 2013-02-19 05:51:28-0800>
Maven home: C:\Build\Maven\apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: C:\Build\Java\jdk1.7.0_25_x64\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

3。我查看了,我有一个`MAVEN_HOME`环境变量设置为`C:\ Build \ Maven \ apache-maven-3.0.5`。
我的路径中也有'%MAVEN_HOME%\ bin`

看起来我的环境正常运作。

4。为了解决此错误,我创建了一个M2_HOME环境变量,并将其设置为%MAVEN_HOME%

5。最重要的是,我重新启动了我的机器。

我仍然收到此错误。我正在尝试在Hudson中构建的每个项目中获取它。我不确定我能做什么。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我的理解是%M2_HOME%是本地Maven存储库的主页,而不是%MAVEN_HOME%,这是Maven安装目录。

从内存来看,我认为Windows上的本地Maven存储库位于C:\Documents and Settings\User\.m2\但是我已经彻底浏览了几年,所以我可能错了。

检查此本地存储库文件夹并尝试将变量设置为那里。

答案 1 :(得分:1)

我不确定为什么会这样,但确实如此。

根据sbk的评论建议,我进入了构建配置。我点击了#34; advanced&#34;查找“使用私有Maven存储库”选项。

Hudson Build Maven Options

我希望看到这个选项,因为它可以解释问题。但事实并非如此。我没想到会有所帮助,但我还是选择了这个选项只是为了看看会发生什么:

Use Private Maven Repository

令人惊讶的是,它奏效了!我的项目在Hudson再次建立。我仍然不知道是什么原因引起了这个问题,或者为什么要解决这个问题,但是既然这样做了,这就是我的答案,除非别人可以解释为什么会有效。

答案 2 :(得分:0)

我得到同样的错误。之前我的目录是C:\apache-maven-3.0.4\apache-maven-3.0.4\bin 我将文件夹结构重命名为C:\maven\apache-maven-3.0.4\bin 还相应地更新了系统变量