2012-05-14 85 views
2

我目前在Windows 7机器上的本地主机上运行Jenkins,并且已经将Ant设置为在构建上运行。蚂蚁找不到phpunit

我的build.xml是根据http://jenkins-php.org/设置的。

当我安排构建时,它失败并出现以下错误。

 
BUILD FAILED 
C:\..\build.xml:127: Execute failed: java.io.IOException: Cannot run program "phpunit": CreateProcess error=2, The system cannot find the file specified 

我检索同样的错误,如果我尝试从命令行运行ant。

phpunit建立并从命令行工作正常。 (Windows Path环境变量包括'c:.. \ php',其中phpunit.bat位于)

关于如何设置Ant,Jenkins或build.xml以正确运行phpunit的任何想法?

感谢

编辑:下面的作品 OERS解决方案在cmd中!现在我的问题是詹金斯不承认phpunit.bat。我对Ant有类似的问题,我必须在Jenkins系统设置中手动设置ANT_HOME。不幸的是,设置Path变量不起作用。然后Ant不再被识别。任何想法如何解决这个问题?

回答

1

.bat文件通常不能直接

执行从docs

的任务委托给的Runtime.exec而这又显然 调用CreateProcess的::。它是后者Win32函数,它定义了调用的确切语义 。特别是,如果您没有在可执行文件上放置 文件扩展名,则只会查找“.EXE”文件,而不是“.COM”,“.CMD”或 环境变量PATHEXT中列出的其他文件类型。这只能由shell使用。

请注意.bat文件通常不能直接执行。一个 通常需要使用 /c开关执行命令shell可执行文件cmd。

<target name="phpunit"> 
    <exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="phpunit.bat"/> 
    <arg value="..."/> 
    </exec> 
</target> 
+0

+1,只是一个问题:Whats -p for?这不是一个有效的phpunit标志 – edorian

+0

@edorian sry,这只是从文档复制和粘贴错误:D – oers

+0

谢谢。这在cmd中起作用!现在我的问题是詹金斯不承认phpunit.bat:/。我对Ant有类似的问题,我必须在Jenkins系统设置中手动设置ANT_HOME。不幸的是,设置Path变量不起作用。然后Ant不再被识别。任何想法如何解决这个问题? – jborch