java - 适用于 Mac OS 和 Linux 的 ProcessBuilder

标签 java linux macos processbuilder

我正在尝试创建一个从 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/

相关文章:

linux - 如何在 Linux 中自动启动需要 X 的应用程序

java - Graphite 服务器不显示从 Java 发送的新数据

java - 过滤对象列表中的重复对象

linux - 如何在避免 'Too many arguments' 的同时进行 grep

macos - Yosemite 的 Apache localhost 403 错误

java - Maven:在 POM 不可解析的父级上出现错误

macos - OS X 上的 HAXM 不断消失

java - Sonar 管 5.6 : violations reported for an outer class by findbugs is not reported as a sonar violation

java - 如何继承 CompletableFuture?

linux - vmlinux ELF 查找给定结构成员的偏移量