从main()启动RCP应用程序

时间:2012-03-09 15:53:31

标签: eclipse-plugin eclipse-rcp rcp launch

我知道可以导出我的rcp应用程序,创建一个.exe文件并使用命令“Runtime.getRuntime()。exec()”运行它但是,我想从main方法启动我的rcp应用程序没有创建和调用exe的java类。有可能吗?

3 个答案:

答案 0 :(得分:5)

我不确定它对你真的有帮助,这取决于你为什么需要启动另一个IApplication,但无论如何......

我会阅读关于Equinox Application Model Demo的wiki页面,该页面演示了如何使用OSGi Application Admin服务来控制应用程序。您可以按照此处的描述从CVS获取代码。 您还可以检查org.eclipse.equinox.internal.app.AppCommands类中的代码,即_startApp()方法中的代码,该方法也启动已定义的应用程序,并且是OSGi控制台中“startApp”命令的实现。

请注意,您可能需要调整启动其他应用程序的Eclipse实例的启动方式(例如eclipse.application.registerDescriptors运行时选项see the help page)。

希望这有帮助!

答案 1 :(得分:2)

假设您已经运行了OSGi,@ Urdi的答案是正确的。如果你还需要启动OSGi,那么要小心你从你自己的主线程 - 即你的应用程序的初始线程 - 这样做,否则将无法在所有平台上正常工作。

请查看org.eclipse.core.runtime.adaptor.EclipseStarter以了解启动OSGi和您的应用程序的方法。

答案 2 :(得分:2)

只需创建一个bundle org.eclipse.equinox.launcher的分支,它有一个Main类,它具有委托给run-function的静态main函数(也就是入口点)。您可以将其子类化为覆盖运行函数并执行您想要执行的操作。