我使用的是装有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中构建的每个项目中获取它。我不确定我能做什么。有什么想法吗?
答案 0 :(得分:2)
我的理解是%M2_HOME%是本地Maven存储库的主页,而不是%MAVEN_HOME%,这是Maven安装目录。
从内存来看,我认为Windows上的本地Maven存储库位于C:\Documents and Settings\User\.m2\
但是我已经彻底浏览了几年,所以我可能错了。
检查此本地存储库文件夹并尝试将变量设置为那里。
答案 1 :(得分:1)
我不确定为什么会这样,但确实如此。
根据sbk的评论建议,我进入了构建配置。我点击了#34; advanced&#34;查找“使用私有Maven存储库”选项。
我希望看到这个选项,因为它可以解释问题。但事实并非如此。我没想到会有所帮助,但我还是选择了这个选项只是为了看看会发生什么:
令人惊讶的是,它奏效了!我的项目在Hudson再次建立。我仍然不知道是什么原因引起了这个问题,或者为什么要解决这个问题,但是既然这样做了,这就是我的答案,除非别人可以解释为什么会有效。
答案 2 :(得分:0)
我得到同样的错误。之前我的目录是C:\apache-maven-3.0.4\apache-maven-3.0.4\bin
我将文件夹结构重命名为C:\maven\apache-maven-3.0.4\bin
还相应地更新了系统变量