我正在尝试使用使用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的开头)
我使用详细选项运行ant以获取更多详细信息:
[antcall] Exiting C:\Users\abc\jenkins\install.xml.
[echo] Installing new build from C:\Users\abc\jenkins\BA\integration_win\Nuze.exe
[exec] Current OS is Windows 7
[exec] Executing 'cmd' with arguments:
[exec] '/c'
[exec] 'C:\Users\abc\jenkins\BA\integration_win\Nuze.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:\Users\abc\jenkins\install.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配置可能存在一些问题。有什么指针吗?非常感谢您的帮助。
答案 0 :(得分:1)
看起来不像ANT问题。 “7”是您正在运行的程序的返回代码。您需要查阅正在运行的“nuze”程序的文档。
非零error codes向ANT表明程序已经失败,程序员经常返回不同的代码来向调用程序指出出错的地方。标准OS的东西。
答案 1 :(得分:0)
我对这个问题知之甚少,但感觉没有其他答案,我想我会试一试。从查看类似的问题可能尝试重新措辞你的xml
<exec executable="cmd" failonerror="true" osfamily="windows">
<arg line="/c ${path.installer} -silent -allowDownload -eulaAccepted"/>
</exec>