因此,我正在编写一个将在cruisecontrol中使用的ant构建文件,并遇到一个奇怪的问题。我已经搜索了这个问题,但是还没有找到任何具体的解决方案,所以我认为我可以在此处发布问题。

我有以下 Ant 任务:

<target name="module.lint">
    <apply executable="/usr/bin/php" failonerror="true">
        <arg value="-l" />
        <fileset dir="/path/to/my/elite/code" includes="**/*.php" />
    </apply>
</target>

当我使用以下命令运行它时:
ant -buildfile /path/to/my/elite/buildfiles/project/elite/build.xml module.lint

它运行正常,但是当我尝试通过CruiseControl GUI构建项目时,出现以下错误:
[cc]Aug-09 15:51:04 ScriptRunner  - fileset: Setup scanner in dir /path/to/my/elite/code with patternSet{ includes: [**/*.php] excludes: [] }
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] Executing '/usr/bin/php' with arguments:
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] '-l'
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] '/path/to/my/elite/code/Script.php'
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply]
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] The ' characters around the executable and arguments are
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] not part of the command.
[cc]Aug-09 15:51:04 ScriptRunner  - Execute:Java13CommandLauncher: Executing '/usr/bin/php' with arguments:
[cc]Aug-09 15:51:04 ScriptRunner  - '-l'
[cc]Aug-09 15:51:04 ScriptRunner  - '/path/to/my/elite/code/Script.php'
[cc]Aug-09 15:51:04 ScriptRunner  -
[cc]Aug-09 15:51:04 ScriptRunner  - The ' characters around the executable and arguments are
[cc]Aug-09 15:51:04 ScriptRunner  - not part of the command.
[cc]Aug-09 15:51:04 ScriptRunner  -     [apply] No syntax errors detected in /path/to/my/elite/code/Script.php

不知道为什么会出现“字符...不是命令的一部分”错误,尽管看起来确实像棉绒检查确实执行了一样。

我该怎么做才能解决“字符...不是命令的一部分”错误?

最佳答案

当从CruiseControl运行构建时,这些消息表明Ant正在详细或 Debug模式下运行。 (尝试从命令行使用-v选项运行,以亲自查看。)

检查CC配置以进行构建-查看是否设置了usedebug或类似名称。或者,可以使用某种自定义日志记录,这些日志记录在调试级别。

10-05 18:23