如何产生另一个main()?

时间:2012-10-01 15:25:51

标签: java spawn

是否可以从另一个应用程序运行一个main()应用程序,就像从命令提示符运行一样?

我知道我可以使用Runtime.exec()但是如果可以从纯java运行吗?

更新

如果我只是通过调用它来运行main(),它将在同一个线程中运行,调用者将等到它完成。如果我在新线程中运行main,它可能会通过静态成员干扰调用者。

我的目标是运行完全独立的应用程序。

3 个答案:

答案 0 :(得分:3)

如果您真的想要一个单独的应用程序,那么就无法绕过Runtime.exec()或等效。进程生成是操作系统的一个功能,Java必须以某种方式调用操作系统的执行方法。

但是,您可以使用类加载器和线程在同一JVM中执行两个应用程序。最常见的用例是应用程序服务器,但您可以使用Plexus之类的容器来执行相同的操作。

答案 1 :(得分:2)

您可以实例化一个新的Thread,并在其内部的run方法中调用另一个类的main()方法。

答案 2 :(得分:1)

Main是静态函数,你可以从任何其他函数调用它,并且运行正常。