从不同JVM中的Java桌面应用程序中执行Java main方法

dig*_*nie 5 java jvm

我有一个桌面应用程序,当有人按下按钮时,我希望它启动另一个执行类主要方法的JVM.我的桌面应用程序已经依赖于包含具有我想要执行的主方法的类的jar.

目前我有以下代码,但是,我希望他们这样做是一种更优雅的方式:

Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("java -jar another.jar");
Run Code Online (Sandbox Code Playgroud)

我知道我也可以使用ProcessBuilder.

有没有这样的方法(原谅伪代码):

Jvm.execute(Main.class);
Run Code Online (Sandbox Code Playgroud)

由于我想调用的Main类已经存在于我的类路径中,因此必须java通过Runtime 运行命令才会感到奇怪.

Ale*_*exR 1

非常好的问题。尝试搜索管理API:http://cupi2.uniandes.edu.co/javadoc/j2se/1.5.0/docs/api/javax/management/package-frame.html

祝你好运。

我不确定这个 API 是否存在,但如果存在的话它应该存在。我个人像您一样使用 ProcessBuilder,但通过检索当前进程的系统属性来指定 java 的显式路径。