在升级到Java 8之后,我的应用程序已经开始不确定地失败了,它不会抛出异常或打印错误消息。它失败的唯一迹象是退出代码-559038737。有人遇到过这种情况吗?
发布于 2014-05-08 15:34:01
退出代码可能来自Apache Commons Exec
public interface Executor {
/** Invalid exit code. */
int INVALID_EXITVALUE = 0xdeadbeef;
...Java8中有一些变化可能引入了一个bug。
但是,在不知道类路径和代码的情况下,这只是一个有根据的猜测。
也许您正在使用异步方式使用Commons:
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
Executor executor = new DefaultExecutor();
executor.execute(cmdLine, resultHandler);
int exitValue = resultHandler.waitFor();
return exitValue;因此,异常仅在resultHandler中捕获,而不是自动在stderr上打印?
https://stackoverflow.com/questions/23370449
复制相似问题