我已经完成了一些Eclipse插件,在开发时,我总是将新版本的插件放在已安装的Eclipse目标上的eclipse\plugins
文件夹中,当我启动Eclipse时,它们会被加载。
我现在正在更新一个针对Luna的插件,现在可以在Oxygen中工作。我使用Oxygen.3 Eclipse为Eclipse Committers重建了插件,然后将结果输出.jar
文件放入目标Eclipse plugins
文件夹,以及我的插件所需的新依赖项(即几个WST模块)。但是当我启动Eclipse时,插件不会自动加载。
如果我使用-console
选项启动Eclipse,我可以尝试从控制台手动加载插件:
osgi> install reference:file:plugins/com.mystuff_1.0.0.201805181701.jar
然后使用console diag
命令检查是否满足依赖关系,它给出:
Unresolved requirement: Require-Bundle: org.eclipse.wst.sse.ui; bundle-version="1.3.600"
然后我可以通过install
命令通过控制台加载它:
install reference:file:plugins/org.eclipse.wst.sse.ui_1.3.600.v201707042340.jar
diag再次显示wst.sse.ui
插件有未解决的要求 - 基本上,为依赖关系树中的8个WST相关插件中的每一个重复循环。最后,所有依赖项都得到满足,diag命令给出:
osgi> diag 355
com.mystuff [355]
No resolution report for the bundle.
此时,我的插件处于活动状态,可以进行调试。
我错过了什么?为什么插件无法自动加载?
答案 0 :(得分:2)
自Eclipse Ganymede(3.4)中引入Provisioning platform (p2)以来,不再扫描 plugins
文件夹进行更改。相反,会扫描dropins
folder(另请参阅Eclipse 3.4 - New and Noteworthy - New dropins folder):
dropins
文件夹,而不是放入plugins
文件夹。