升级到Java 8后,我的应用程序已开始确定性地失败。它不会引发异常或显示错误消息。其失败的唯一标志是退出代码-559038737。有人遇到过吗?

最佳答案

该退出代码可能来自Apache Commons Exec:

public interface Executor {

/** Invalid exit code. */
int INVALID_EXITVALUE = 0xdeadbeef;
...

Java 8中有些changes可能已经引入了一个错误。

但是,不知道您的类路径和代码,这只是有根据的猜测。

也许您正在使用异步方式来使用Commons Exec:
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();

Executor executor = new DefaultExecutor();
executor.execute(cmdLine, resultHandler);

int exitValue = resultHandler.waitFor();

return exitValue;

因此,该异常仅在resultHandler中捕获,而不能在stderr上自动打印吗?

关于java - JVM 8退出代码-559038737(0xDEADBEEF),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23370449/

10-11 09:31