我正在尝试创建一个从 cmd 行执行 .jar 的进程构建器。我在 Windows 上运行得很好,但由于我不熟悉 mac 或 linux 的工作原理,所以我不知道他们的 cmd 行。
这是我的代码:
ProcessBuilder pb = new ProcessBuilder(new String[] { "java", "-jar", Settings.SAVE_DIR + Settings.SAVE_NAME});
pb.directory(new File(System.getProperty("java.home") + File.separator + "bin"));
final Process proc = pb.start();
谁能帮我找到 linux/mac 的 cmd 行吗?
最佳答案
呃,为什么要使用进程构建器从 Java 内部运行 Java 应用程序?
只需确保另一个 JAR 在您的类路径中即可;然后运行该 JAR 的“主要方法”。如果你担心分离;您仍然可以使用特殊的类加载器来实现这一点。
那么,为什么要绕道 fork JVM 呢?
关于您的实际问题:只需尝试先手动构建您的命令...。我的意思是:在 linux/mac 系统上打开 shell,然后键入您想要的命令行;并继续尝试,直到成功为止。然后看看那个;并确定以独立于平台的方式创建该事物的最简单方法。
关于java - 适用于 Mac OS 和 Linux 的 ProcessBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41706301/