在Eclipse安装插件时出现错误

9
当我尝试在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)

编辑2:

当我重新启动Eclipse时,会弹出一个“安装连接器”的窗口,但是当我选择连接器并单击“完成”时,什么也不会发生,在Eclipse日志中出现“未处理的事件循环异常”

编辑3:

我尝试了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发生冲突?


你要安装哪个插件?你是怎么做的? - Paulo Guedes
我正在尝试通过“帮助”菜单中的“安装新软件”来安装Subversive。 - Derk
6个回答

7

除了上述之外,我还不得不从我的PATH中删除csvn。 - andersonbd1

3

如果您正在Windows7 64位的Eclipse中安装Subclipse SVN插件,请确保不要在插件安装选项中安装JavaHL。您需要在Eclipse之外单独安装SilkSVN。步骤如下: 首先安装SilkSVN,然后安装Subclipse插件,但不要勾选JavaHL插件。


2

针对 Kirk Woll:

修改您的环境变量中的Path

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

也许这可以帮到您。


2

1

你有没有注意到在全新安装的Eclipse上?
而在你的Eclipse实例中,你是否尝试过第二次重新启动iot?(并且仍然看到错误?)

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

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

很可能AJDT(或其依赖项之一)维护注册表对象的持久缓存,例如扩展或扩展点。
当一个bundle被更新时,在幕后卸载“旧”版本的bundle,删除所有它的注册表元素,当新版本的bundle被安装时,添加新的注册表元素。
如果一个bundle缓存了扩展/扩展点的句柄,并且没有对注册表事件做出反应,它就会得到无效的句柄。


是的,当我尝试第二次重新启动Eclipse时,我再次看到了“安装连接器”窗口,但它无法工作。这是一个全新的安装(Eclipse文件夹和工作区文件夹已删除)。但是,当我启动新的Eclipse安装程序时,仍然可以看到我的项目,所以也许有一种完全新的安装方式? - Derk
@Derk:是的,有一种方法:只需在某个地方解压完整的Eclipse安装存档即可 ;) - VonC
我尝试在另一驱动器上解压完整的Eclipse存档,但没有成功 :( 出现了完全相同的错误。 - Derk
@Derk: 你用的是哪个版本的Eclipse?尝试使用Subclipse而不是Subversive了吗?(https://dev59.com/6EvSa4cB1Zd3GeqPh99A#2232702) - VonC
我正在使用适用于Windows的Helios 3.6版本64位。我尝试了Subclipse,但在安装过程中出现了相同的消息(Error notifying registry change listener.)。在开头帖子中,我将粘贴它在重新启动时显示的错误。 - Derk

1

我曾经遇到过同样的问题,运行在Windows 7 64位上的Eclipse 64位,尝试使用Subclipse,以下是我解决问题的方法:

  1. 我安装了Eclipse Helios 64位版本。
  2. 我安装了JDK 1.6 64位版本。
  3. 我安装了Subclipse。
  4. 我安装了JavaHL(Slik Subversion)64位版本。
  5. 我必须确保Eclipse在启动时使用64位版本的Java(可以通过查看Eclipse->Help->About Eclipse->Installation Details->Configuration中的java.library.path属性进行验证)。确保它还显示您的64位JDK的路径 - 如果没有,请从Windows控制面板->系统更改相关的系统环境变量,并使用-clean变量重新启动Eclipse)。

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