是否可以从另一个应用程序运行一个main()
应用程序,就像从命令提示符运行一样?
我知道我可以使用Runtime.exec()
但是如果可以从纯java运行吗?
更新
如果我只是通过调用它来运行main()
,它将在同一个线程中运行,调用者将等到它完成。如果我在新线程中运行main,它可能会通过静态成员干扰调用者。
我的目标是运行完全独立的应用程序。
答案 0 :(得分:3)
如果您真的想要一个单独的应用程序,那么就无法绕过Runtime.exec()
或等效。进程生成是操作系统的一个功能,Java必须以某种方式调用操作系统的执行方法。
但是,您可以使用类加载器和线程在同一JVM中执行两个应用程序。最常见的用例是应用程序服务器,但您可以使用Plexus之类的容器来执行相同的操作。
答案 1 :(得分:2)
您可以实例化一个新的Thread
,并在其内部的run方法中调用另一个类的main()
方法。
答案 2 :(得分:1)
Main是静态函数,你可以从任何其他函数调用它,并且运行正常。