升级到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/