【发布时间】:2020-03-13 19:00:22
【问题描述】:
是否有任何方法可以使用类似进程构建器的东西从 java 运行 jar 文件?我已经尝试过这种方法,但没有运气,因为我不断收到CreateProcess error=2, The system cannot find the file specified。我已经在 java 程序之外将相同的脚本运行到了一个 powershell 窗口中,它工作得很好。
我试过的代码
ProcessBuilder processBuilder = new ProcessBuilder("Powershell.exe java -jar D:\\Outlook.jar");
Process process = processBuilder.start();
process.waitFor();
【问题讨论】:
-
尝试将命令行参数拆分为单独的字符串(请参阅documentation of
ProcessBuilder) -
new ProcessBuilder("Powershell.exe", "java", "-jar", "D:\\Outlook.jar");有效吗?您可能必须指定可执行文件的完整路径,即使它是 Powershell,但请先尝试... -
我尝试了一种不同的方式,使用 java 和 jar 的路径,并使用 runtime.getRuntime().exec(command) 而不是 processbuilder,命令为“java 路径”-Xms400M - Xmx400M -Djava.library.path=lib -client -jar "jar 路径"
标签: java