将我的插件放入Eclipse的dropins目录时出现“没有找到存储库...”错误

时间:2012-03-27 03:57:11

标签: eclipse plugins rcp

我正在使用eclipse 3.5创建一个带有扩展点的简单插件。我通过ant使用无头pde构建它。插件功能正常。然后,我将插件jar放入eclipse_home / dropins,最终创建扩展,然后继续测试其扩展点。但是在我开始eclipse之后,我的日志中出现以下错误:

!ENTRY org.eclipse.equinox.p2.core 4 0 2012-03-22 01:00:45.270
!MESSAGE Provisioning exception
!STACK 1
org.eclipse.equinox.internal.provisional.p2.core.ProvisionException: No repository found at file:/C:/eclipse35/dropins/MyPlugin/.
    at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.fail(AbstractRepositoryManager.java:380)
    at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:641)
    at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
    at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:88)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.loadMetadataRepository(Activator.java:90)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.getMetadataRepository(DropinsRepositoryListener.java:184)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.addRepository(DropinsRepositoryListener.java:79)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.DropinsRepositoryListener.added(DropinsRepositoryListener.java:57)
    at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.processFile(DirectoryWatcher.java:200)
    at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.scanDirectories(DirectoryWatcher.java:161)
    at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:108)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchDropins(Activator.java:491)
    at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:167)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:782)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:773)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:754)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330)

我已尝试将插件jar直接放在dropins目录中,以及使用以下目录结构:eclipse_home / dropins / MyPlugin / plugins / myplugin.jar。这两种方法都适用于第三方插件,但不适用于我的。请让我知道我做错了什么。谢谢!

1 个答案:

答案 0 :(得分:3)

似乎有两个问题。 “找不到存储库”错误消息看起来像this problem。然后就是你的插件无法启动的问题。

首先,您应该检查是否找到了插件。 然后你应该检查插件是否已经解决,即是否满足所有要求。

如果您有Eclipse的插件开发版本,那么您可以打开插件注册表视图。看看你的插件是否在列表中,如果是,那么至少找到它。然后右键单击它,启用高级操作,然后选择诊断。有些要求可能尚未实现。 如果您没有Eclipse的插件版本,则可以使用osgi控制台。转到控制台视图,然后在视图菜单中选择OSGI控制台。 运行命令ss列出所有插件,并diag 123,其中数字是插件的ID,用于诊断它。

此外,see a previous answer to a similar question

编辑:哦,我已经在dropins目录中放置了一些serious problems插件以便有时工作...您可以尝试将其直接复制到eclipse/plugins目录。