我有可以在Windows中完美运行批处理文件的代码。 (hey.bat仅显示简单内容)
public static void main(String[] args) {
static String dir1 = "C:\\Users\\Name\\Desktop\\hey.bat";
ProcessBuilder processBuilder = new ProcessBuilder(dir1);
try {
Process process = processBuilder.start();
StringBuilder output = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
output.append(line + "\n");
}
int exitVal = process.waitFor();
if (exitVal == 0) {
System.out.println(output);
system.exit(0);
} else {
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
但是,当我调用另一个名为shutdown.bat的批处理文件时,该文件应该关闭Tomcat,它会显示错误消息
未正确定义CATALINA_HOME环境变量。这个 运行该程序需要环境变量
当我双击shutdown.bat时,它工作得非常好,那么为什么在通过Java运行时会出现错误?是否所有的依赖项都不应捆绑到该批处理文件中?谢谢