构建Eclipse RCP应用程序的问题

时间:2011-09-22 17:06:32

标签: eclipse-rcp maven-3 tycho

我正在尝试使用基于功能的Maven / Tycho构建Eclipse RCP应用程序。我的应用程序是一种简单的语言,带有编辑器(在Xtext的帮助下构建)和一些其他插件,这些插件是项目的依赖项。有一些描述如何创建Eclipse RCP应用程序的方法,例如

http://mattiasholmqvist.se/2010/03/building-with-tycho-part-2-rcp-applications/

https://kthoms.wordpress.com/2010/11/12/setting-up-a-rcp-product-for-a-dsl/

到目前为止,我做了什么:

  1. 创建了一个包含feature.xml的插件项目。 feature.xml包含语言插件及其依赖项

  2. 创建了一个包含产品定义的插件项目。产品定义以插件项目名称命名(Mattias Homlqvist(本文中的第一个链接)强调Tycho对产品文件名做出假设(与插件项目名称相关))。在产品定义中,我创建了一个新产品,并指向'org.eclipse.ui.ide.workbench'应用程序。我还在编辑器的依赖项选项卡中添加了我的功能插件和org.eclipse.pde以及org.eclipse.rcp功能。

  3. 如果我正在尝试运行该产品,我会遇到异常:

    java.lang.RuntimeException: No application id has been found.
        at org.eclipse.equinox.internal.app.EclipseAppContainer.
          startDefaultApp(EclipseAppContainer.java:242)
        at org.eclipse.equinox.internal.app.MainApplicationLauncher.
          run(MainApplicationLauncher.java:29)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
          runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
          start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.
          run(EclipseStarter.java:344)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.
          run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.
          invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.
          invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
    

    好的,有些事情非常糟糕。现在,我正在检查是否在“插件”选项卡的运行配置对话框中添加了所有必需的插件。因此,未选择产品和功能插件。如果我按下“添加所需的插件”,则会添加产品插件,只需弹出“验证插件”并显示“未检测到任何问题”。如果我再次尝试运行该产品,我会得到相同的异常。在产品定义编辑器中按“同步”会恢复我所做的更改(产品和功能被取消选择) - 我想知道为什么?

    Maven / Tycho构建本身似乎有效。如果我正在尝试使用

    构建项目
    mvn install 
    

    创建相应平台的zip文件。不幸的是,问题仍然存在,并且构建不可执行。所以,可能我在我的功能和/或产品插件项目中犯了一个可怕的错误。也许有人有想法或者可以指出我正确的方向?

    提前致谢!

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,对我来说,它在运行配置“插件”选项卡中检查“自动将新工作区插件添加到此启动配置”。

你也可以检查自动启动(对我来说,“默认”工作)。

最好的问候。

答案 1 :(得分:1)

您的产品应该是“基于功能的”,并且在您的功能中,您应该添加在plugin.xml上添加的相同插件
另外,在“包含的功能”标签中,您应该添加org.eclipse.rcp功能

相关问题