Eclipse rcp 构建EclipseRCP应用程序时出现的问题

Eclipse rcp 构建EclipseRCP应用程序时出现的问题,eclipse-rcp,maven-3,tycho,Eclipse Rcp,Maven 3,Tycho,我正在尝试基于特性使用Maven/Tycho构建一个Eclipse RCP应用程序。我的应用程序是一种简单的语言,带有一个编辑器(在Xtext的帮助下构建)和一些其他插件,这些插件是项目的依赖项。有几个howto描述了如何创建EclipseRCP应用程序,例如 或 到目前为止,我做了什么: 创建了包含feature.xml的插件项目。xml由语言插件及其依赖项组成 创建了包含产品定义的插件项目。产品定义是以插件项目名称命名的(Mattias Homlqvist(本文的第一个链接)强调Tych

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

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

  • 创建了包含feature.xml的插件项目。xml由语言插件及其依赖项组成

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

  • 如果我试图运行该产品,我会遇到一个异常:

    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文件。不幸的是,这个问题仍然存在,并且构建是不可执行的。所以,我可能在我的特性和/或产品插件项目中犯了一个可怕的错误。也许有人有个主意或者可以给我指出正确的方向


    提前谢谢

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

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


    致以最诚挚的问候。

    您的产品应该是“基于功能”的,并且在您的功能中,您应该添加与您的插件相同的插件。xml

    另外,在“包含的功能”选项卡中,您应该添加org.eclipse.rcp功能

    谢谢!在将一个(XText)项目更新到最近的Eclipse(跳过几个主要版本)之后,这就修补了它