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