0

我拥有的是一个 RCP 应用程序,以及其中的一个插件目录:

my-rcp-app/
  ...
  plugins/
    ...
    com.mycompany.myproduct.ui_1.0.1/
      com/
      META-INF/
      plugin.xml

然后我制作了一个与插件目录内容相同的 JAR com.mycompany.myproduct.ui_1.0.1.jar,并将其放入plugins/而不是com.mycompany.myproduct.ui_1.0.1文件夹中。

令人惊讶的是,该应用程序没有启动。这是来自日志:

 !SUBENTRY 2 com.mycompany.root.bundle 2 0 2012-07-05 20:01:17.511
 !MESSAGE Missing required bundle com.mycompany.myproduct.ui_1.0.1.

所以,这里有两个问题:

  1. 如果我有一个包含类、配置等的目录,如何在 JAR 中部署插件。
  2. 将 JAR 解压到插件中是否足以让应用程序继续工作?
4

2 回答 2

3
  1. 从清单编辑器的主页,您可以打开一个导出向导。它将创建一个包含您的插件的 jar 文件。如果要指定应导出哪些文件,请转到清单编辑器中的构建选项卡。

  2. 无论您的插件是解压缩的还是在 Jar 文件中,这都无关紧要。Equinox 能够处理这两种情况。请注意,如果您不想通过 Eclipse 更新站点机制管理插件,建议使用 dropins 文件夹而不是 plugins 文件夹。

于 2012-07-06T13:25:32.450 回答
1

正如@TobiasWillig 已经指出的那样,插件目录和 JAR 确实是完全可以互换的。

但在这种特定情况下,我必须编辑configuration/org.eclipse.equinox.simpleconfigurator/bundles.info文件,替换

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1/,4,false

com.mycompany.myproduct.ui,1.0.1,plugins/com.mycompany.myproduct.ui_1.0.1.jar,4,false

即,需要手动指定插件的路径。

于 2012-07-09T11:57:07.640 回答