我使用Silk4J,在我的构建中,我必须启动代理。我使用的命令是:
<exec spawn="true" executable="${env.OPEN_AGENT_HOME}/agent/openAgent.exe" />
它给了我这个错误
The ' characters around the executable and arguments are not part of the command.
我需要更改吗?
答案 0 :(得分:4)
该消息并不表示错误。
当-v
,-verbose
,-d
或-debug
选项授予Ant时,<exec>
任务会输出正在执行的命令以及消息:
[exec] Current OS is Windows 7
[exec] Executing 'cmd' with arguments:
[exec] '/c'
[exec] '@for %a in (C:\src\ant\ant-dir-file-local) do @echo %~ta'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
[exec] 10/23/2013 02:36 AM
分解上面的例子......
[exec] Executing 'cmd' with arguments:
^ ^
[exec] '/c'
^ ^
[exec] '@for %a in (C:\src\ant\ant-dir-file-local) do @echo %~ta'
^ ^
在这种情况下,每个'
上方的单引号(^
)不是命令的一部分。 Ant使用单引号包装可执行文件名和每个参数,以明确命令的哪一部分以及哪些不是。当<exec>
没有按预期运行时,Ant会这样做以帮助用户调试他们的Ant脚本。该消息纯粹是信息性的。
答案 1 :(得分:2)
最好将记录的条目包装在单引号中,这样如果条目为空,您仍然可以看到它,例如:
没有用户''
的密码
否则你会看到:
没有用户密码
这是误导。 在这种情况下,它仅通知您引号仅出于此原因而不是记录数据的一部分。我认为这句话有点令人困惑,因为负面形式'不是命令的一部分'看起来有问题......
答案 2 :(得分:0)
这纯粹是提供信息的。它表示您在上面看到的撇号(')符号实际上并不在已使用的命令中。 它只是“引用”您在命令中使用的字符串标记。
示例:
[exec] Current OS is Windows 10
[exec] Output redirected to property: git.timestamp
[exec] Executing 'cmd.exe' with arguments:
[exec] '/c'
[exec] 'git'
[exec] 'show'
[exec] '-s'
[exec] '--format=%ct'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
这表示你在cmd中使用了 / c git show -s --format =%ct ,你可以从'/ c'中看到,<强>'git'令牌。它只是告诉您忽略'符号。它实际使用的是链中的git,show,-ss等标记,形成一个完整的命令。