'svn'不被认为是Maven的内部或外部命令

时间:2015-03-13 05:04:17

标签: maven svn plugins jenkins

当我做"执行maven release"在Jenkins上运行,我在控制台日志中收到此错误:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46.205s
[INFO] Finished at: Fri Mar 13 10:29:44 ICT 2015
[INFO] Final Memory: 6M/11M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: com.library:MYPROJECT:0.0.1-SNAPSHOT @ E:\jenkins\workspace\MYPROJECT\pom.xml]
[JENKINS] Archiving E:\jenkins\workspace\MYPROJECT\pom.xml to /var/lib/jenkins/jobs/APGIS/modules/com.library$MYPROJECT/builds/2015-03-13_10-29-02/archive/com.library/MYPROJECT/0.0.1-SNAPSHOT/MYPROJECT-0.0.1-SNAPSHOT.pom
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project MYPROJECT: Unable to check for local  modifications
Provider message:
The svn command failed.
Command output:
'svn' is not recognized as an internal or external command,
operable program or batch file.

我已经使用SlikSVN-1.6.1和mvn-3.0.4安装了SVN客户端,并在Maven-slave机器的命令提示符中检查了已安装的命令。

我试图做"执行maven release"在Maven-slave上直接使用dry-run命令提示符。结果就是工作!!。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.4</version>
</plugin>

POM.xml中的Maven-release-plugin版本是2.4.0。

这个问题发生在Maven-slave机器的Windows7中,但是即使两台机器之间的SVN客户端和mvn版本相同,WindowsXP也没有建立。

这可能是什么原因,我该如何解决?

3 个答案:

答案 0 :(得分:0)

  

命令输出:'svn'不被识别为内部或外部命令,可操作程序或批处理文件。

这意味着 svn.exe 客户端可执行文件的文件夹位置不在 PATH 环境变量中。

答案 1 :(得分:-1)

你的奴隶是什么操作系统?詹金斯在它自己的用户下运行。如果在Linux / Mac上,它将在jenkins用户下运行。只是因为您为自己的用户安装了svn,并不意味着所有其他用户都可以访问它。

以jenkins身份登录,然后验证:
sudo su - jenkins
svn

答案 2 :(得分:-1)

您可以尝试为特定从属设备启用Tool locations,并明确指定HOME安装的svn。要达到此目的,Manage jenkins - &gt; Manage nodes - &gt; Your Windows 7 node - &gt; Configure