java exec一个失败的java命令

时间:2014-10-17 15:02:01

标签: java runtime exec

在Windows上,我尝试使用Runtime.getRuntime()。exec(“java -version”)执行java命令(例如java -version)。

没有错误,但命令似乎永远不会执行。或者JAVA被召唤但什么都不做。

我将此命令放在BAT文件中并尝试执行Runtime.getRuntime()。exec(“file.bat”)。 我有同样糟糕的结果。

六个月前,没关系。

现在有任何限制吗?仅在Windows上?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试将-version作为第二个String发送到Runtime Executor。 此外,您可以记录OutputStream以帮助调查此问题。

try {
    Process process = Runtime.getRuntime().exec(new String[]{"java", "-version"});
    try (BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
        String line;
        while((line = br.readLine()) != null){
             LOGGER.info("RuntimeProcess Printed: {}", line);
        }
    }

} catch (IOException e) {
    LOGGER.error("ERROR: {}", e);
}

最后,请注意您正在运行的命令。例如,如果您尝试在Windows计算机上运行Unix命令,则会看到异常。

希望这会有所帮助。