在Eclipse中安装插件时出错

时间:2010-05-06 19:09:21

标签: eclipse eclipse-plugin

当我尝试在Eclipse中安装插件时,我收到了这些错误消息

  

注册表事件调度程序

Error notifying registry change listener.
Error notifying registry change listener.
Invalid registry object
Error notifying registry change listener.
Invalid registry object
Error notifying registry change listener.
Invalid registry object
Error notifying registry change listener.
Invalid registry object
Error notifying registry change listener.
Invalid registry object

有人知道这个问题的原因是什么吗?感谢

编辑:

我看到Eclipse .log文件也有很多新的堆栈跟踪

第一个是

java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=nl_NL
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.equinox.registry 4 2 2010-05-06 21:04:31.236
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.registry".
!STACK 0
org.eclipse.core.runtime.InvalidRegistryObjectException: Invalid registry object
    at org.eclipse.core.internal.registry.TemporaryObjectManager.getObject(TemporaryObjectManager.java:98)
    at org.eclipse.core.internal.registry.BaseExtensionPointHandle.getExtensionPoint(BaseExtensionPointHandle.java:106)
    at org.eclipse.core.internal.registry.BaseExtensionPointHandle.getContributor(BaseExtensionPointHandle.java:45)
    at org.eclipse.core.internal.registry.BaseExtensionPointHandle.getNamespace(BaseExtensionPointHandle.java:37)
    at org.eclipse.ui.internal.PopupMenuExtender.registryChanged(PopupMenuExtender.java:520)
    at org.eclipse.core.internal.registry.ExtensionRegistry$2.run(ExtensionRegistry.java:921)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.registry.ExtensionRegistry.processChangeEvent(ExtensionRegistry.java:919)
    at org.eclipse.core.runtime.spi.RegistryStrategy.processChangeEvent(RegistryStrategy.java:260)
    at org.eclipse.core.internal.registry.osgi.ExtensionEventDispatcherJob.run(ExtensionEventDispatcherJob.java:50)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

EDIT2:

当我重新启动Eclipse时,我得到一个“安装连接器”窗口,但当我选择一个连接器并单击“完成”时,没有任何反应,并且Eclipse日志中出现“未处理的事件循环异常”

EDIT3:

我尝试过Subclipse而不是Subversive,但这会产生这些错误

Failed to load JavaHL Library.
These are the errors that were encountered:
no libapr-1 in java.library.path
no libapriconv-1 in java.library.path
C:\Program Files (x86)\Zend\Core\bin\libeay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
C:\Program Files (x86)\Zend\Core\bin\ssleay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
no libaprutil-1 in java.library.path
no libsvn_subr-1 in java.library.path
no libsvn_delta-1 in java.library.path
no libsvn_diff-1 in java.library.path
no libsvn_wc-1 in java.library.path
no libsvn_fs-1 in java.library.path
no libsvn_repos-1 in java.library.path
no libsvn_ra-1 in java.library.path
no libsvn_client-1 in java.library.path
no libsvnjavahl-1 in java.library.path
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path
java.library.path = C:\Windows\system32;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Zend\Core\bin;C:\Program Files (x86)\Zend\Core\oic;C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.6.0_20\bin

安装的Eclipse版本是否有可能与另一个已安装的Eclipse版本或Zend Studio冲突?

6 个答案:

答案 0 :(得分:7)

x64 Java存在问题。

使用x64 java,您需要使用JavaHL和x64支持

这是官方常见问题解答 http://subclipse.tigris.org/wiki/JavaHL#head-0ae839721445e3f59d10a128ec9439d4f4988d5f

我有相同的安装,它可以在FAQ

的步骤之后运行

编辑:您可能还需要编辑PATH变量(至少在Windows中),以包含上面列出的SlikSVN中建议的subclipse FAQ安装中的bin文件夹。

答案 1 :(得分:3)

如果你在windows7 64位的eclipse中安装SVN的Subclipse插件。确保不要将JavaHL安装为插件安装选项的一部分。您需要在eclipse外单独安装SilkSVN安装。步骤在这里, 首先安装SilkSVN,而不是安装Subclipse插件安装,而不检查JavaHL插件。

答案 2 :(得分:2)

对于Kirk Woll:

修改Path

中的Environment variables

C:\Program Files\SlikSvn\bin\更改为C:\Program Files\SlikSvn\bin

也许这可以帮到你。

答案 3 :(得分:2)

  1. 安装SlikSvn http://www.sliksvn.com/en/download
  2. 将系统变量路径:C:\Program Files\SlikSvn\bin\更改为C:\Program Files\SlikSvn\bin

答案 4 :(得分:1)

您是否在Eclipse的全新安装中注意到了这一点? 对于您的Eclipse实例,您是否尝试重新启动iot second 时间? (仍然看错误?)

因为当几个插件已经存在时,this thread mentions(对于AJDT,但也可以应用于其他插件):

  

错误意味着某人持有不再存在的扩展注册表对象的句柄。

     

最有可能AJDT(或其所依赖的捆绑包之一)维护注册表对象的持久缓存,例如扩展或扩展点。
  更新捆绑包时,在场景后面将卸载捆绑包的“旧”版本,删除其所有注册表元素,并在安装新版本的捆绑包时添加新的注册表元素。
  如果bundle缓存了扩展/扩展点的句柄并且没有对注册表事件做出反应,那么它最终会出现无效的句柄。

答案 5 :(得分:1)

我有同样的问题,在Windows 7 64位上运行eclipse 64位,尝试使用subclipse,这就是我修复它的方法:

  1. 我安装了eclipse Helios 64位。
  2. 我已经安装了jdk 1.6 64位。
  3. 我安装了subclipse。
  4. 我安装了64位的JavaHL(Slik颠覆)。
  5. 我必须确保eclipse在启动时使用64位版本的Java(这可以在查看eclipse->help->about eclipse->installation details->configuration中的java.library.path属性时进行验证。确保它还显示了64位的路径JDK - 如果没有,请从Windows控制面板 - >系统更改相关的系统环境变量,并使用-clean变量重新启动eclipse。