2

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

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

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

构建失败
C:\..\build.xml:127: Execute failed: java.io.IOException: Cannot run program "phpunit": CreateProcess error=2, 系统找不到指定的文件

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

phpunit 已设置并且可以从命令行正常工作。(Windows 路径环境变量包括 'c:..\php',phpunit.bat 所在的位置)

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

谢谢

编辑:下面的 Oers 解决方案在 cmd 中有效!现在我的问题是 Jenkins 无法识别 phpunit.bat。我对 Ant 有同样的问题,我必须在 Jenkins 系统设置中手动设置 ANT_HOME。不幸的是,同样设置 Path 变量不起作用。然后Ant再次被识别。关于如何解决这个问题的任何想法?

4

2 回答 2

2

我发现这个很棒的指南对我帮助很大!

http://www.pelshoff.com/2011/07/setting-up-a-kickass-development-environment-on-windows

于 2012-05-18T12:33:15.837 回答
1

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

文档

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

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

<target name="phpunit">
  <exec executable="cmd">
    <arg value="/c"/>
    <arg value="phpunit.bat"/>
    <arg value="..."/>
  </exec>
</target>
于 2012-05-15T06:20:26.350 回答