我所拥有的是RCP应用程序,其中包含一个插件目录:
my-rcp-app/
...
plugins/
...
com.mycompany.myproduct.ui_1.0.1/
com/
META-INF/
plugin.xml
然后我使用与插件目录com.mycompany.myproduct.ui_1.0.1.jar
相同的内容创建一个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.
所以,这里有2个问题:
答案 0 :(得分:3)
从清单编辑器的主页面中,您可以打开导出向导。它将创建一个包含插件的jar文件。如果要指定应导出哪些文件,请转到Manifest Editor中的build选项卡。
如果您的插件已解压缩或在Jar文件中,则无关紧要。 Equinox能够处理这两种情况。请注意,如果您不想通过Eclipse Update Site机制管理插件,建议使用dropins文件夹而不是plugins文件夹。
答案 1 :(得分: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
即,需要手动指定插件的路径。