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

Maven Hudson错误:M2_HOME设置为无效目录,maven,hudson,environment-variables,environment,Maven,Hudson,Environment Variables,Environment,我用的是一台装有Windows7的电脑,上面安装了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 var

我用的是一台装有Windows7的电脑,上面安装了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
我不明白为什么它会给我这个错误。为什么哈德逊要在自己的工作空间里找到M2_的家?我尝试了以下方法,这似乎表明在我的环境中安装Maven很好:

一,。我打开了一个CMD,输入了“where mvn”,得到了以下信息:

C:\Build\Maven\apache-maven-3.0.5\bin\mvn
C:\Build\Maven\apache-maven-3.0.5\bin\mvn
二,。我输入了“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"
apachemaven 3.0.5 Maven主页:C:\Build\Maven\apache-Maven-3.0.5 Java版本:1.7.0_25,供应商:Oracle公司 Java主页:C:\Build\Java\jdk1.7.0\u 25\u x64\jre 默认区域设置:en_US,平台编码:Cp1252 操作系统名称:“windows 7”,版本:“6.1”,arch:“amd64”,系列:“windows” 三,。我检查了一下,发现有一个“MAVEN\u HOME”环境变量设置为“C:\Build\MAVEN\apache-MAVEN-3.0.5”。
我的路径中还有“%MAVEN\u HOME%\bin”

看起来我的环境在工作

四,。为了解决这个错误,我创建了一个
M2\u HOME
环境变量,并将其设置为
%MAVEN\u HOME%

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


我仍然有这个错误。我在哈德逊做的每一个项目都会得到它。我不知道我还能做什么。有什么想法吗?

我的理解是%M2\u HOME%是本地Maven存储库的主目录,而%Maven\u HOME%是Maven安装目录

从内存来看,我认为Windows上的本地Maven存储库位于
C:\Documents and Settings\User\.m2\
中,但我已经在Linux上运行了好几年,所以我可能错了


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

我不确定为什么这样做有效,但确实有效

正如sbk的评论所建议的,我转到了构建配置。我单击“高级”以查找“使用私有Maven存储库”选项

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


令人惊讶的是,它成功了!我的项目又在哈德逊建成了。我仍然不知道最初是什么原因导致了这个问题,或者为什么它会解决这个问题,但既然它解决了,这就是我的答案,除非其他人能解释为什么它会起作用。

我也遇到了同样的错误。之前我的目录是
C:\apache-maven-3.0.4\apache-maven-3.0.4\bin
我将文件夹结构重命名为
C:\maven\apache-maven-3.0.4\bin

也相应地更新了系统变量

您是否已将哈德逊作业的配置更改为
使用专用Maven存储库
=true?该选项的文档显示
选中此选项后,Hudson将告诉Maven使用$WORKSPACE/.repository作为本地Maven存储库
。hudson可能会这样做,覆盖M2_HOME的值,就像你看到的那样。@sbk这真的很奇怪——我检查了这个选项,但它没有被选中。然后我选择它只是为了看看会发生什么,现在我的构建工作了!我相信您正在寻找的路径是
C:\Users\\.m2
:-)