public void start() {
try {
// 设置命令参数
List<String> cmds = new ArrayList<>();
cmds.add("java");
cmds.add("-jar");
cmds.add("bootdemos-0.0.1-SNAPSHOT.jar");
ProcessBuilder processBuilder = new ProcessBuilder().command(cmds);
// 设置工作目录这样他就会去D:\javaTool目录下找jar
processBuilder.directory(new File("D:\\javaTool"));
// 是否合并标准错误和标准输出
processBuilder.redirectErrorStream(true);
log.info("完整命令:{}", String.join(StringUtils.SPACE, processBuilder.command()));
// 执行
Process process = processBuilder.start();
// 输出结果信息
BufferedReader br1;
br1 = new BufferedReader(new InputStreamReader(process.getInputStream(), "gbk"));
String line1 = null;
while ((line1 = br1.readLine()) != null) {
System.out.println(line1);
}
// 关闭Process
if (process.isAlive()) {
process.destroy();
}
} catch (Exception e) {
String msg = "启动任务失败:" + e.getMessage();
log.error(msg, e);
}
}