从我的菜单中调用RCP应用程序

时间:2011-03-24 09:31:52

标签: java eclipse plugins eclipse-rcp

我想为Eclipse创建一个插件。我打算从Eclipse的应用程序菜单中打开一个不同的RCP应用程序。 所以我有一个Eclipse RCP应用程序和一个Eclipse插件。该插件通过命令扩展了Eclipse菜单,以运行我的Eclipse RCP应用程序。

如何从菜单中调用我的RCP应用程序?

1 个答案:

答案 0 :(得分:1)

我认为您将Eclipse插件与Eclipse RCP应用程序混淆。你究竟想在这里实现什么目标?你开发了一个插件,例如一个ViewPart来扩展您的Eclipse IDE版本,例如Helios 3.6 for Java developers?

或者您是否开发了一个完整的独立RCP应用程序,它在启动时为您提供了一个带有空白应用程序窗口的可执行文件?

您能否请“我的菜单”指明您的意思?你的意思是基于HTML的开始菜单?或者你的意思是正常的应用程序菜单?如果它确实是一个视图扩展插件,您始终可以从“窗口” - “显示视图” - “其他”运行它,然后选择您的视图。您显然需要先部署插件(eclipse路径中的插件文件夹)。

这些有用的教程可以帮助您清理:

RCP:http://www.vogella.de/articles/EclipseRCP/article.html

插件:http://www.vogella.de/articles/EclipsePlugIn/article.html


编辑:

好的,谢谢你清理它。我假设(我从来没有这样做过),那么你有两种选择。由于您的RCP应用程序一旦构建,应该带有正常的运行时二进制文件,您可以使用:

  • java.lang.Runtime.exec()

http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html

这是运行可执行文件的标准Java方法。它带有六个重载版本:

public Process exec(String command);
public Process exec(String[] cmdArray);
public Process exec(String[] cmdarray, String[] envp, File dir);
public Process exec(String command, String[] envp);
public Process exec(String command, String[] envp, File dir);
public Process exec(String[] cmdArray, String[] envp);

所以请选择最好的,例如第四个如果你想交出论点。 要获取运行时实例:

 Runtime rt = Runtime.getRuntime();
 rt.exec("~/myapp");

你也可以自己“建立”这个过程: http://www.java-tips.org/java-se-tips/java.util/from-runtime.exec-to-processbuilder.html

或使用

  • org.eclipse.swt.program.Program

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/program/package-summary.html

此类最初用于运行与OS相关的程序的文件,例如使用默认浏览器的HTML。但它也可用于运行普通的可执行文件。

要完成,要从Eclipse中启动Java应用程序,您始终可以按照本指南操作: http://www.eclipse.org/articles/Article-Java-launch/launching-java.html