我知道关于javahl的问题有很多Eclipse/Subclipse问题。很长时间以来,我一直在一起使用Eclipse/Subclipse,而没有出现javahl问题。
不过,我现在也遇到了同样的问题。
我最近刚升级到Java 7:
$ java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)我还升级到Eclipse露娜4.4.0并安装了Subclipse。但是,在创建了一个远程存储库并尝试在SVN探索透视图中浏览它之后,我在日志文件中看到了这一点:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.subversion.javahl.SVNClient
at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.<init>(JhlClientAdapter.java:57)
at org.tigris.subversion.clientadapter.javahl.Activator.getAdapter(Activator.java:64)
at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:70)
at org.tigris.subversion.subclipse.core.SVNClientManager.getAdapter(SVNClientManager.java:127)
at org.tigris.subversion.subclipse.core.SVNClientManager.getSVNClient(SVNClientManager.java:94)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.getSVNClient(SVNProviderPlugin.java:462)
at org.tigris.subversion.subclipse.core.repo.SVNRepositoryLocation.getSVNClient(SVNRepositoryLocation.java:257)
at org.tigris.subversion.subclipse.core.resources.RemoteFolder.getMembers(RemoteFolder.java:164)
at org.tigris.subversion.subclipse.core.resources.RemoteFolder.members(RemoteFolder.java:260)
at org.tigris.subversion.subclipse.ui.operations.FetchMembersOperation.execute(FetchMembersOperation.java:41)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:90)
at org.tigris.subversion.subclipse.ui.repository.model.SVNRepositoryRootElement.fetchDeferredChildren(SVNRepositoryRootElement.java:73)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)请参阅下面的图,查看我安装的Subclipse组件:

关于SVNKit客户端适配器(不是必需的),我已经安装了Subclipse,无论是否选择了这个组件,在这两种情况下,我都看到了相同的javahl.SVNClient错误。
如何解决这个问题?
作为一个旁白,我想也许我会给颠覆者一个机会。Subversive在Eclipse4.4udpates软件站点(http://download.eclipse.org/eclipse/updates/4.4)中不可用,所以我尝试了Eclipse客户端。通过Marketplace安装,我得到以下错误:
The following solutions are not available: Subversive: SVN Team Provider 2.0有人有Eclipse和Subclipse或者颠覆性的工作吗?我需要采取什么步骤才能让这件事奏效?
附带的更新是空SVN接口客户端下拉列表的屏幕截图。

谢谢!
发布于 2014-10-06 09:25:09
我认为可以在Polarion网站(颠覆插件使用的SVN连接器的开发人员) campaign=subversive上找到解决方案。
上面写着
颠覆更新站点是露娜更新站点的一部分。 要安装:在主菜单上,选择帮助>安装新软件。出现“可用软件”对话框。在“使用工作”列表中,选择露娜- http://download.eclipse.org/releases/luna/.会出现软件包列表。 展开协作节点,滚动列表并选择颠覆特性。 根据需要检查对话框中的其他选项,然后单击Next按钮。“安装详细信息”屏幕出现在对话框中。 单击“下一步”按钮,接受许可证并单击“完成”。Subversive将下载并安装。 建议接受重新启动Eclipse的选项。 http://community.polarion.com/projects/subversive/download/eclipse/4.0/luna-site/ -所需的颠覆性SVN连接器 http://community.polarion.com/projects/subversive/download/integrations/luna-site/ -可选的颠覆积分
发布于 2014-08-04 05:18:44
我想你没有jaha需要的图书馆。这取决于你的操作系统。为什么不试试SVN工具包而不是JavaHL呢?可以在window -> preferences -> team -> subversion中更改提供程序。
发布于 2014-08-04 13:41:38
我正在OSX小牛上运行Eclipse4.4(露娜),使用的是与您使用的Subclipse相同的版本。在我的例子中,JavaHL库是通过Homebrew安装的。
我不认为这与您的问题有关,但我的环境中的一个不同之处在于,我使用的是Java 8。事后看来,这是没有意义的,但我记得Eclipse 4.4说我必须升级Java才能启动它。也许它说我至少需要Java 7,我只是选择安装Java 8,不记得了。
由于NoClassDef的发现,我对你的错误感到有点困惑。当问题发生在库中时,这并不像通常所看到的错误。
当您执行Team > SVN时,您在首选项中看到了什么?是空的吗?这意味着Eclipse插件甚至没有加载,因为通常您会看到列表中的条目带有关于(未安装)的消息。你甚至没有看到,这似乎是一个更大的错误涉及。
不知道该检查什么,但我会查看日志和Eclipse安装细节屏幕,看看一个或多个插件未被激活是否有问题。但没有解释为什么会发生这种情况。
https://stackoverflow.com/questions/25112078
复制相似问题