我有 java cde 将类文件放在一起:
List<String> args = new ArrayList<String>();
String path = FileSystemUtils.JavaBin() + "\\jar.exe";
args.add(path);
args.add("-cfv");
args.add(jarName);
args.addAll(FileSystemUtils.getAllFiles(directory, ".class"));
ProcessBuilder pb = new ProcessBuilder(args);
File wd = new File(directory);
pb.directory(wd);
Process p = pb.start();
//Waiting for process to exit
p.waitFor();
int res = p.exitValue();
这段代码效果很好。但是,在某些计算机上 - 不是在所有计算机上,当有 7 个以上的文件时p.waitFor();
,即使创建了 jar,也不会返回。
查看任务管理器,jar.exe 确实没有终止.... 可能是什么原因?从命令行手动运行相同的命令会立即退出。
这似乎很奇怪。有人有任何提示吗?