我正在尝试使用使用 exec 的 Ant 任务进行构建。这是我的任务片段:
<exec executable="cmd" failonerror="true" osfamily="windows">
<arg value="/c" />
<arg value="${path.installer}" />
<arg value="-silent"/>
<arg value="-allowDownload"/>
<arg value="-eulaAccepted"/>
</exec>
这本质上是一个安装程序。当我尝试从路径运行安装程序 (.exe) 时,出现以下错误:C:\Users\abc\jenkins\install.xml:57:exec 返回:7(第 57 行指向 exec 的开头)
我用详细的选项运行了蚂蚁以获取更多详细信息:
[antcall] Exiting C:Usersabcjenkinsinstall.xml.
[echo] Installing new build from C:UsersabcjenkinsBAintegration_winNuze.exe
[exec] Current OS is Windows 7
[exec] Executing 'cmd' with arguments:
[exec] '/c'
[exec] 'C:UsersabcjenkinsBAintegration_winNuze.exe
[exec] '-silent'
[exec] '-allowDownload'
[exec] '-eulaAccepted'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
target 'install.nuze' failed with message 'exec returned: 7'.
BUILD FAILED
C:Usersabcjenkinsinstall.xml57: exec returned: 7
at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:646)
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.jav:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:392)
at org.apache.tools.ant.Target.performTasks(Target.java:413)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExeutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:811)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
我还可以确认我的 Jenkins 奴隶可以访问 C:\Users\abc\jenkins\BA\integration_win\Nuze.exe 我可以从该位置手动安装,没有任何问题。知道我犯错的地方吗?我查找了错误代码,但通常我得到的提示是 ant 配置可能存在一些问题。有什么指示吗?提前感谢您的帮助。
看起来不像是 ANT 问题。"7"是正在运行的程序的返回代码。您需要查阅正在运行的"nuze"程序的文档。
非零错误代码向 ANT 指示程序已失败,程序员通常返回不同的代码以指示调用程序出了什么问题。标准操作系统的东西。
我对这个主题不是很了解,但感觉没有其他答案,我想我会试一试。从查看类似的问题,也许可以尝试重新措辞您的 xml
<exec executable="cmd" failonerror="true" osfamily="windows">
<arg line="/c ${path.installer} -silent -allowDownload -eulaAccepted"/>
</exec>