有的时候需要在程序中调用本地的脚本文件,脚本中是启动另外一个java程序,通常的处理方式就是如下:
String cmd = "cmd.exe /c start shutdown.bat";
Process ps = Runtime.getRuntime().exec(cmd);
那可能在测试的时候调用正常,但是打包后出现执行脚本“无法找到xxx启动类”,那正确的写法是在exec方法中还要指定脚本的文件的绝对路径参数。假如上面脚本的路径是:d://test//shutdown.bat,
String cmd = "cmd.exe /c start shutdown.bat";
// 第三个参数指定脚本文件所在目录
Process ps = Runtime.getRuntime().exec(cmd,null,new File("d://test"));