【问题标题】:Process builder that runs a jar file [duplicate]运行 jar 文件的进程构建器 [重复]
【发布时间】: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


【解决方案1】:

此代码有效

String command = "\"path to java exe\" -Xms400M -Xmx400M -Djava.library.path=lib -client -jar \"path to jar\"";
System.out.println(command);
Process proc = Runtime.getRuntime().exec(command);
proc.waitFor();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2016-02-25
    • 2017-06-14
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多