【问题标题】:Eclipse RCP : make a standalone plugin extending an existing standalone oneEclipse RCP:制作一个扩展现有独立插件的独立插件
【发布时间】:2013-10-22 16:14:02
【问题描述】:

我已经通过扩展点(添加菜单和功能)扩展了一个已经存在的插件,它有自己的产品定义文件,它自己的类 Application 实现 IApplication。 我想创建一个产品配置(自定义启动画面等...)。我的插件需要一个应用程序类吗? 我希望我的插件是独立的,独立的,带有启动器。不是片段。我必须继承现有的插件应用程序吗? 感谢您的提示和技巧。

【问题讨论】:

  • 你好,格雷格。不,现有插件没有使用 Eclipse 4。我已经搜索了一个现有的 xmi 文件。没有什么。我现在考虑的是获取一个包含应用程序类、激活器和产品文件的示例,并将我的代码插入其中。这不是最先进的架构......嗯,你还有什么好的建议吗?

标签: eclipse-plugin rcp


【解决方案1】:

您应该能够声明自己的product(使用org.eclipse.core.runtime.products 扩展点)指定现有的application id。

因此,例如,可以这样声明您的产品:

<plugin>
   <extension
          id="product"
          point="org.eclipse.core.runtime.products">
       <product
             name="My product name"
             application="org.eclipse.e4.ui.workbench.swt.E4Application">
     .... more ....

此示例使用现有插件中使用 org.eclipse.core.runtime.applications 扩展点声明的 Eclipse E4 应用程序的现有应用程序 ID。

如果您要扩展的应用程序基于 Eclipse 4,您的产品定义将需要包含应用程序 XMI 文件的属性:

<property
       name="applicationXMI"
       value="plugin id/Application.e4xmi">
 </property>

您需要查看现有的产品定义以找到 XMI 文件的位置。

您可能还需要 CSS 文件、主题和资源的属性。

【讨论】:

  • 我自己的插件没有任何Application类。我已经创建了一个新插件并将自己插入到已经存在的具有应用程序类的插件的扩展点。可以给个样张吗?
  • 现有插件将使用org.eclipse.core.runtime.applications 定义应用程序ID,您只需在产品定义中引用它即可。不需要您自己的应用程序类。更新答案
  • 您好,格雷格,感谢您的帮助。这个过程似乎更进一步。尽管如此,我得到了: org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: java.io.FileNotFoundException: /Application.e4xmi
  • 您好,格雷格,感谢您的帮助。这个过程似乎更进一步。尽管如此,我得到了: org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: java.io.FileNotFoundException: /Application.e4xmi ...根据我读过的内容,.e4xmi 用于片段,但我只是创建一个基于另一个插件的插件
  • 您正在使用 Eclipse 4 扩展的应用程序吗?
猜你喜欢
  • 2013-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多