我正在编写一个批处理文件,以便从本地存储库中安装eclipse上的功能。
eclipse.exe -application org.eclipse.equinox.p2.director
-repository C:/repo,http://download.eclipse.org/releases/indigo/
-installIU com.app.feature.feature.group
但我无法检测操作是否失败或是否从批处理脚本成功。看来eclipse没有设置错误级别?任何可能的解决方法?
答案 0 :(得分:1)
我找到的一个解决方法是通过ant exec运行命令,而不是直接从批处理文件调用。它报告所有错误。
<exec executable="eclipse.exe" failonerror="true">
<arg value="-noSplash"/>
<arg value="-application"/>
<arg value="org.eclipse.equinox.p2.director"/>
<arg value="-repository"/>
<arg value="file:C:/repo,http://download.eclipse.org/releases/indigo/"/>
<arg value="-installIU"/>
<arg value="com.app.feature.feature.group"/>
</exec>
答案 1 :(得分:0)
Equinox 3.6.0中有一个bug(已在3.6.1中修复)导致失败的应用程序返回退出代码0.除非您使用的是Equinox版本,否则p2 director应用程序有一个正确的退出代码。
我认为问题在于您如何检查批处理脚本中的退出代码。您可以使用IF ERRORLEVEL 1 GOTO LabelOfErrorHandling
检查非零退出代码。