【发布时间】:2020-07-23 13:59:32
【问题描述】:
我有以下java代码
public static void main(String a[]) {
String location = "C:\\Users\\test\\output\\testProject";
File dir = new File("C:\\Users\\test\\cmds");
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "Start /wait","packageProject.bat",location);
pb.directory(dir);
Process p = null;
try {
p = pb.start();
p.waitFor();
}
catch (IOException e) {
e.printStackTrace();
}
catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println("Folder created");
}
批处理文件是
cd "C:\Users\test\output\test-master"
mvn clean install -DskipTests
exit
它是打包文件,但不是命令提示符,一旦过程完成就不会关闭。
请提出建议。
【问题讨论】:
-
一个控制台会话不会自动结束,只要它有客户端进程或者进程有一个句柄到它的输入缓冲区或它的屏幕缓冲区之一。如果
mvn启动附加到控制台并在 mvn.exe 退出后仍在运行的进程,则可能会发生这种情况。
标签: java windows processbuilder