2

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

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

更新

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

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

4

3 回答 3

3

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

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

于 2012-10-01T16:02:13.847 回答
2

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

于 2012-10-01T16:05:03.840 回答
1

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

于 2012-10-01T15:27:16.233 回答