2012-03-09 73 views
5

我知道可以導出我的rcp應用程序,創建一個.exe文件並使用命令「Runtime.getRuntime().exec()」運行它,但是,我想啓動我的rcp應用程序從java類的主要方法中創建並調用exe。可能嗎?從main()啓動RCP應用程序

回答

5

我不知道這是真的對你有所幫助,這取決於你爲什麼需要啓動另一IApplication,但無論如何...

我會讀維基頁面約Equinox Application Model Demo演示瞭如何將OSGi應用程序管理員服務可以用來控制應用程序。您可以按照此處所述從CVS獲取代碼。 您還可以檢查org.eclipse.equinox.internal.app.AppCommands類中的代碼,即_startApp()方法中的代碼,該方法也啓動已定義的應用程序,並且是OSGi控制檯中「startApp」命令的實現。

請注意,您可能需要調整從其中啓動其他應用程序的Eclipse實例的方式(例如eclipse.application.registerDescriptors運行時選項see the help page)。

希望這會有所幫助!

2

假設你已經有OSGi運行,@Urbi的答案是正確的。如果您還需要啓動OSGi,那麼請謹慎從您自己的主線程(即應用​​程序的初始線程)執行此操作,否則SWT無法在所有平臺上正常工作。

看看org.eclipse.core.runtime.adaptor.EclipseStarter爲啓動OSGi和您的應用程序的方式。

2

簡單地創建一個捆綁org.eclipse.equinox.launcher的分支,它有一個類Main,它具有靜態主函數(又稱入口點),它委託給運行函數。你可以對它進行子類化,覆蓋運行函數並做你想做的事情。

相關問題