Eclipse无法加载放置在dropins文件夹中的插件。

30

我刚刚下载了 Eclipse SDK 3.5.1,并想要安装一些插件,例如 GEF、EMF 等。

我已经下载了我需要的所有 zip 文件,并决定将它们安装在 dropins 文件夹中。我阅读了 http://wiki.eclipse.org/Equinox_p2_Getting_Started ,并按照规定的方式组织了我的 dropin 文件夹。

eclipse/  
   dropins/  
     emf/  
       eclipse/  
         features/  
         plugins/  
     gef/  
       eclipse/  
         features/  
         plugins/  
     ... etc ...

当我启动Eclipse时,它无法识别我放置在上面结构中的任何功能或插件。 有什么想法吗?

7个回答

37
我曾经遇到过类似的问题,所以我在Eclipse社区论坛上发布了一个问题,询问如何获取有关缺失依赖项的报告。以下是Mickael Istria的有益回复,供那些不是该论坛成员的人参考:

您可以启动或诊断OSGi控制台,并手动尝试启动捆绑包。控制台将输出一些警告信息。请查看http://eclipse.org/equinox/documents/quickstart.php以获取更多详细信息。

shell> eclipse -console
 [...Eclipse starts up...] 
osgi> diag your.unresolved.bundle
 [...shows you unresolved constraints...]

在我的情况下,我尝试了几种我认为应该有效的目录结构,直到找到一个可行的。
dropins/
   myPlugin
   plugins/
      depPluginDir1/*
      depPluginDir2/*

更新

数年后回来解决类似的问题,我发现以下网页非常有帮助:我的Bundle在哪里, 插件没有从dropins/文件夹中获取


7
更新已回答的问题并提供新的有用信息加一。 - rancidfishbreath
谢谢您,虽然对于原始问题来说已经太晚了,但我相信它会再次出现,我一定会尝试使用OSGi控制台。 - rancidfishbreath
1
允许的目录结构似乎会随着版本的发布而改变。当我升级到Helios时,我需要重新排列我的dropins。http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/p2_dropins_format.html提供了Helios支持的布局。 - kc2001

28
首先,使用 -clean 参数运行 Eclipse,以确保 p2 完全重新扫描 dropins 目录并查看您的插件。
如果仍然无法加载,您可以使用 p2 调试来查看问题所在。由于某种奇怪的原因,p2 不会记录 dropins 的问题,除非您使用以下步骤显式开启它:
在启动 Eclipse 的 eclipse 文件夹中创建一个名为 .options 的文件,并添加以下内容:
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

然后使用以下参数运行Eclipse(最后一个参数是刚刚创建的.options文件的路径):

eclipse -clean -console -consoleLog -debug /path/to/.options

PS,我已经创建了该bugzilla来请求将其作为默认值打开。您可以在那里投票/跟踪使这个记录成为默认值。

PPS,@kc2001的建议也很好,一旦您缩小了问题插件并希望进一步排除故障。

一些相关链接:


4
我建议您尝试通过更新管理器安装这些功能。 EMF和GEF是来自Eclipse.org的标准功能,没有理由不在Eclipse的主p2存储库文件夹中安装它们(如果您担心,很容易卸载它们)。
查看错误日志视图(窗口->显示视图->错误日志),以查看它们未加载的原因。我猜测它们缺少依赖项,但是如果没有更多信息,很难回答您的问题。我还建议查看帮助->关于Eclipse->安装详细信息,以了解确切安装了什么。

这是我一段时间以前做的事情,但由于没有其他人说过这个,所以我会给你一个被接受的答案。 - rancidfishbreath

2

以下是刚刚帮我解决同样问题的方法:使用命令行参数-start eclipse -clean -console -consoleLog启动Eclipse。奇怪的是,只有使用-clean -console无法解决问题。只有在添加了-consoleLog之后,才能够识别bundles。


1
这对我来说是一个Eclipse问题。将插件jar文件放置在建议的每个文件夹中、以管理员身份运行等方法都无效。
解决方法是将版本从Juno降级到Indigo。你可以在这里找到Eclipse的旧版本。

0

如果您已经下载了更新站点插件,则本地存档插件将起作用。在这种情况下,dropins可能无法正常工作。

关于dropin结构,它总是对我有效,但我从未在自己的文件夹中使用eclipse文件夹,只使用插件和特性。您是否将zip文件提取到该结构中?

如果是,请在Eclipse启动后检查错误日志,可能会列出一些未解决的依赖项。


这些压缩文件包含一个Eclipse文件夹,但我使用它们的主要原因是基于原帖中的文章。嗯,我需要看一下未解决的依赖问题。虽然在日志中没有发现任何问题。 - rancidfishbreath
是的,说实话,Eclipse文件夹并不重要。也许如果您可以使用更新管理器,因为许多项目都可以从Galileo更新站点(GEF、EMF和其他发布列车的项目肯定可用)获取。 - Zoltán Ujhelyi

-2
不要像那样手动放置zip文件。
使用Eclipse中的向导安装本地存档插件。

1
我刚刚尝试使用dtp_1.7.1.zip和Eclipse,但出现了错误提示:“在jar:file:/Users/user/Desktop/dtp_1.7.1.zip!/.中未找到软件站点。您是否要编辑位置?” - rancidfishbreath
存档向导仅适用于 .jar 文件。 - joedborg
这对我很有效。Dropin没有起作用。我正在安装这个ZIP文件。https://www.eclemma.org/installation.html - Philip Rego

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接