windows – 将exec’d批处理文件中的退出代码传播回ant
我需要从蚂蚁那里打电话给sbt.我正在使用“exec”任务执行此操作,如下所示:
<target name="publish-jar"> <exec executable="sbt.bat" failonerror="true"> <arg value="publish"/> </exec> </target> 如果sbt任务失败,我需要ant任务“失败”,这就是使用failonerror =“true”的原因.但是,这不起作用.当sbt任务失败时,ant不会报告失败的构建. 这看起来像这里讨论的问题:Ant exec resultproperty is not working.建议的解决方法是从sbt.bat中删除“/ B”.换句话说,改变: exit /B %ERROR_CODE% 至 exit %ERROR_CODE% 但是,正如一位评论者所说:
问题:当发生故障时是否有修复:(1)不终止调用者的shell和(2)将退出代码传播给ant? 更新 这是运行我的ant任务的输出.实际错误在这里并不重要(我故意不配置存储库来发布,强制错误): C:devlasdf3modulestest>ant publish-jar Buildfile: C:devlasdf3modulestestbuild.xml publish-jar: [exec] [info] Loading global plugins from C:Usersjn.sbt .13plugins [exec] [info] Set current project to test (in build file:/C:/dev/la/sdf3/modules/test/) [exec] :: loading settings :: file = C:devlasdf3modulesivysettings.xml [exec] [info] :: delivering :: com.jn#test;SNAPSHOT :: SNAPSHOT :: integration :: Fri Mar 14 08:45:58 HST 2014 [exec] [info] delivering ivy file to C:devlasdf3modulescom.jntargetscala-2.10ivy-SNAPSHOT.xml [exec] java.lang.RuntimeException: Repository for publishing is not specified. [exec] at scala.sys.package$.error(package.scala:27) [exec] at sbt.Classpaths$$anonfun$getPublishTo$1.apply(Defaults.scala:1203) [exec] at sbt.Classpaths$$anonfun$getPublishTo$1.apply(Defaults.scala:1203) [exec] at scala.Option.getOrElse(Option.scala:120) [exec] at sbt.Classpaths$.getPublishTo(Defaults.scala:1203) [exec] at sbt.Classpaths$$anonfun$57.apply(Defaults.scala:1037) [exec] at sbt.Classpaths$$anonfun$57.apply(Defaults.scala:1037) [exec] at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) [exec] at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42) [exec] at sbt.std.Transform$$anon$4.work(System.scala:64) [exec] at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) [exec] at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237) [exec] at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) [exec] at sbt.Execute.work(Execute.scala:244) [exec] at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) [exec] at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237) [exec] at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) [exec] at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) [exec] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [exec] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [exec] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [exec] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [exec] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [exec] at java.lang.Thread.run(Thread.java:744) [exec] [error] (*:publishConfiguration) Repository for publishing is not specified. [exec] [error] Total time: 0 s,completed Mar 14,2014 8:45:59 AM BUILD SUCCESSFUL Total time: 4 seconds 解决方法
我刚做了一个简单的批次:
@echo关闭 回声[批] 退出/ b 2 从上面你的ant脚本,exec返回我的批处理中的错误代码.一切都很好. 这是在以下测试: 您应该粘贴批处理文件以及运行ant时获得的实际结果.要么使用的Ant版本有问题,要么(很可能)批处理文件有问题. 请执行下列操作 >从命令行运行sbt.bat发布 如果你得到0,你的批次就是问题所在. 编辑: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- window 10 中安装 allure
- windows – 意外的页面处理(同样,VirtualLock =没
- 如何在Windows上安装PyGI(Python Gobject Intros
- 我可以使用Microsoft Parallel Extensions to .N
- active-directory – 升级到域控制器后,2012 R2服
- windows-server-2008-r2 – Windows服务无法自动
- window下强制删除
- windows-server-2008-r2-2008 R2 TLS 1.2在注册表
- ue相机与Windows上的python
- 图像处理---《在图片上打印文字 windows+GDI+Tru