2

我正在尝试使用基于功能的 Maven/Tycho 构建 Eclipse RCP 应用程序。我的应用程序是一种简单的语言,带有一个编辑器(在 Xtext 的帮助下构建)和一些其他依赖于项目的插件。有一些 howtos 描述了如何创建一个 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 功能。

如果我尝试运行该产品,则会出现异常:

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

提前致谢!

4

2 回答 2

1

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

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

此致。

于 2011-10-21T14:22:51.520 回答
1

您的产品应该是“基于功能”的,并且在您的功能中,您应该添加与您在 plugin.xml 中添加的相同插件,
此外,在“包含的功能”选项卡中,您应该添加 org.eclipse.rcp 功能

于 2011-10-27T11:05:11.153 回答