如何在Java的新进程中启动“main”?

前端之家收集整理的这篇文章主要介绍了如何在Java的新进程中启动“main”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_1@这个问题很简单.如何在另一个 java进程中启动一个主要的方法?现在我这样做:
startOptions = new String[] {"java","-jar","serverstart.jar"};
new ProcessBuilder(startOptions).start();

但是他们要求我不要使用外部的.jar文件. serverstart.jar显然有一个主要的方法,但是可以在另一个进程中调用该main方法,而不调用.jar文件

我在想这样的事情:

new ProcessBuilder(ServerStart.main(startOptions)).start();

但是我不知道是否存在这样的事情.

亲切的问候,

解决方法

假设一个新的线程与一个新的类加载器是不够的(我会投票支持这个解决方案,虽然),我明白你需要创建一个独特的进程,调用一个主方法在一个类中没有声明为“jar主方法”在清单文件 – 因为你没有一个独特的serverstart.jar了.

在这种情况下,您可以简单地调用java -cp $yourClassPath your.package.ServerStart,就像您没有(或不想使用)清单Main-Class时运行任何Java应用程序一样.

猜你在找的Java相关文章