Ant无法找到phpunit

时间:2012-05-14 21:09:14

标签: php ant jenkins phpunit

我目前正在Windows 7计算机上的localhost上运行Jenkins,并已将Ant设置为在构建时运行。

我的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!现在我的问题是Jenkins不识别phpunit.bat。我和Ant有同样的问题,我必须在Jenkins系统设置中手动设置ANT_HOME。不幸的是,设置Path变量同样不起作用。然后Ant再次被识别出来。关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

.bat文件通常不能直接执行

来自docs

  

该任务委托给Runtime.exec,而后者显然也是如此   calls :: CreateProcess。它是后者定义的Win32函数   调用的确切语义。特别是,如果你不放一个   可执行文件的文件扩展名,只查找“.EXE”文件,   不是“.COM”,“。CMD”或环境中列出的其他文件类型   变量PATHEXT。那只是由shell使用。

     

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

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