编程语言
首页 > 编程语言> > 如何在jRuby编写的Java程序中执行自定义退出状态?

如何在jRuby编写的Java程序中执行自定义退出状态?

作者:互联网

我正在研究验证工具的通用基础,我希望将其作为JAR分发并使用Ant自动化.单独使用Java,我可以做类似的事情

...
int validationResults = this.validate();
System.exit(validationResults) // via Ant: 1 = "BUILD FAILED", 0 = "BUILD SUCCESSFUL"
...

使用CI系统在预定构建中使用验证工具.

然而,我在jRuby而不是Java(用于学习)中写这个.我尝试了以下方法,但它们不会在Ant中触发“BUILD FAILED”.

java.lang.System.exit(1) # using "require 'java'" at the the top of the file
Kernel.exit 1
exit 1

我已经在jRuby问题跟踪器中看到了关于此的门票(例如JRUBY-1650),但我还没有找到解决问题的方法.

我正在运行jRuby v1.6.6和Warbler v1.3.2. Ant目标如下所示:

<target name="validate">
  <java jar="./validator.jar" fork="true" />
</target>

是我做得不对,还是jRuby不支持这个(还)?

解决方法:

我想你从java Ant task开始你的jRuby代码.

要在jRuby进程中出现非零退出代码时使Ant失败,必须将java任务的failonerror属性设置为true.

标签:java,ant,jruby
来源: https://codeday.me/bug/20190630/1334672.html