java执行失败的java命令
在Windows上,我尝试使用Runtime.getRuntime().exec(“java-version”)执行java命令(例如java-version) 没有错误,但该命令似乎从未执行过。或者调用JAVA,但不执行任何操作 我将此命令放在一个BAT文件中,并尝试执行Runtime.getRuntime().exec(“file.BAT”)。 我也有同样的坏结果 六个月前还可以 现在这样做有什么限制吗?只在窗户上java执行失败的java命令,java,runtime,exec,Java,Runtime,Exec,在Windows上,我尝试使用Runtime.getRuntime().exec(“java-version”)执行java命令(例如java-version) 没有错误,但该命令似乎从未执行过。或者调用JAVA,但不执行任何操作 我将此命令放在一个BAT文件中,并尝试执行Runtime.getRuntime().exec(“file.BAT”)。 我也有同样的坏结果 六个月前还可以 现在这样做有什么限制吗?只在窗户上 谢谢您的帮助。尝试将-version作为第二个字符串发送给运行时执行器。 此
谢谢您的帮助。尝试将-version作为第二个字符串发送给运行时执行器。 此外,您可以记录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命令,您将看到异常
希望这有帮助。您的代码6个月前在Windows上运行?您如何判断该命令“似乎从未执行过”?你看到输出了吗?你在看什么?您可能遇到了路径问题,无法找到指向“java”的正确路径。尝试输入java的完整路径,即“C:\Program Files\java\jre7\bin\java-version”嗨!是的,以前总是这样。甚至在家里。但现在一切都错了。我找到了一个解决方案,使用一个分离的进程和一个同步的文件。检查输出流和错误输出流,我不确定,但我认为,版本的输出将在输出流中