在Windows上,我尝试使用Runtime.getRuntime()。exec(“java -version”)执行java命令(例如java -version)。
没有错误,但命令似乎永远不会执行。或者JAVA被召唤但什么都不做。
我将此命令放在BAT文件中并尝试执行Runtime.getRuntime()。exec(“file.bat”)。 我有同样糟糕的结果。
六个月前,没关系。
现在有任何限制吗?仅在Windows上?
感谢您的帮助。
答案 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命令,则会看到异常。
希望这会有所帮助。