windows JavaHL 未加载 (NoClassDefError)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3274890/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JavaHL not loading (NoClassDefError)
提问by James P.
I've reinstalled Windows and unzipped a fresh copy of Eclipse. Despite this, I've been unable access an ssh repository via Subclipse. The issue seems to be with JavaHL and the tests from the Tigris web site give NoClassDefError. Although this could be considered as a software issue I hope someone has come accross this before. Is there a way to fix this? It's quite urgent.
我已经重新安装了 Windows 并解压缩了一个新的 Eclipse 副本。尽管如此,我还是无法通过 Subclipse 访问 ssh 存储库。问题似乎出在 JavaHL 上,来自 Tigris 网站的测试给出了 NoClassDefError。虽然这可以被视为软件问题,但我希望有人以前遇到过这个问题。有没有办法来解决这个问题?这是相当紧急的。
P.S: Things were set up such that Subclipse would look in the config file to forward a call to the PLink client of TortoiseSVN which in turn gets a key that's loaded in Pageant.
PS:设置好之后,Subclipse 会在配置文件中查看将调用转发到 TortoiseSVN 的 PLink 客户端,后者又会获取一个加载到 Pageant 中的密钥。
Edit: Here's the output from java -jar javahltests.jar now after reinstalling a jdk:
编辑:这是现在重新安装 jdk 后 java -jar javahltests.jar 的输出:
.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.
E.E.E.E.E.E.E.E.E.E
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0xffbadd11, pid=752, tid=656
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) Client VM (17.0-b16 mixed mode, sharing windows-x86 )
# Problematic frame:
# C 0xffbadd11
#
# An error report file with more information is saved as:
# C:\hs_err_pid752.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
And here's the output I had previously:
这是我之前的输出:
.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.
E.E.E.E.E.E.E.E.E.E
Time: 0,047
There were 50 errors:
1) testCreate(org.tigris.subversion.javahl.SVNAdminTests)java.lang.UnsatisfiedLinkError: no svnjavahl-1 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.tigris.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:79)
at org.tigris.subversion.javahl.SVNAdmin.<clinit>(SVNAdmin.java:32)
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
2) testSetRevProp(org.tigris.subversion.javahl.SVNAdminTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
3) testLogDate(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
4) testVersion(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
5) testPathValidation(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
6) testPathIsURL(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
7) testMergeinfoParser(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
8) testBasicStatus(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
9) testOODStatus(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
10) testBasicCheckout(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
11) testBasicCommit(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
12) testBasicProperties(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
13) testBasicUpdate(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
14) testBasicMkdirUrl(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
15) testCopy(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
16) testMove(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
17) testBasicMergingUpdate(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
18) testBasicConflict(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
19) testBasicCleanup(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
20) testBasicRevert(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
21) testBasicSwitch(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
22) testBasicDelete(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
23) testBasicCheckoutDeleted(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
24) testBasicNodeKindChange(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
25) testBasicImport(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
26) testBasicCat(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
27) testBasicCatStream(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
28) testBasicLs(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
29) testBasicAddIgnores(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
30) testBasicImportIgnores(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
31) testBasicInfo(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
32) testBasicLogMessage(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
33) testBasicVersionInfo(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
34) testBasicLocking(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
35) testBasicInfo2(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
36) testBasicChangelist(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
37) testBasicMerge(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
38) testMergeUsingHistory(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
39) testMergeReintegrate(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
40) testMergeConflictResolution(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
41) testRecordOnlyMerge(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
42) testDiff(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
43) testDiffSummarize(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
44) testBasicIsAdminDirectory(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
45) testBasicCancelOperation(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
46) testDataTransferProgressReport(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
47) testTreeConflict(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
48) testObstructionTolerance(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
49) testBasicBlame(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
50) testCommitRevprops(org.tigris.subversion.javahl.BasicTests)java.lang.NoClassDefFoundError: Could not initialize class org.tigris.subversion.javahl.SVNAdmin
at org.tigris.subversion.javahl.SVNTests.setUp(SVNTests.java:218)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:111)
FAILURES!!!
Tests run: 50, Failures: 0, Errors: 50
Finally, here's what I get in the Eclipse IDE:
最后,这是我在 Eclipse IDE 中得到的:
Failed to load JavaHL Library.
These are the errors that were encountered:
F:\eclipse helios\eclipse-jee-helios-win32\eclipse\plugins\org.tigris.subversion.clientadapter.javahl.win32_1.6.12\libsvnjavahl-1.dll: Can't find dependent libraries
no svnjavahl-1 in java.library.path
no svnjavahl in java.library.path
java.library.path = F:\eclipse helios\eclipse-jee-helios-win32\eclipse\plugins
回答by stivlo
I had the same problem with my Eclipse Helios installation in Ubuntu. To solve the problem I had to do the following.
我在 Ubuntu 中安装 Eclipse Helios 时遇到了同样的问题。为了解决这个问题,我必须执行以下操作。
Install the svn library
$ sudo apt-get install libsvn-java
Find the location of the native libraries. In my case it was /usr/lib/jni. (If you've just installed the library you may have to update the locate db before running locate with /etc/cron.daily/mlocate - on Ubuntu 10.10, other OS may have different script names)
$ locate libsvnjava
In my case finds the following files: /usr/lib/jni/libsvnjavahl-1.so, /usr/lib/jni/libsvnjavahl-1.so.0, /usr/lib/jni/libsvnjavahl-1.so.0.0.0
Find the location of eclipse installation directory. For the custom installation I choose /usr/local/eclipse
Edit eclipse.inicontained in that directory. It's a file containing all eclipse options as explained in Eclipse Documentation. Add a line to that file with the following content (adjusting according to your native library path)
-Djava.library.path=/usr/lib/jni
Restart Eclipse. Everything should work now (In some cases you may need to restart Linux) .
安装 svn 库
$ sudo apt-get install libsvn-java
查找本机库的位置。就我而言,它是 /usr/lib/jni。(如果您刚刚安装了该库,则可能必须在使用 /etc/cron.daily/mlocate 运行 locate 之前更新 locate db - 在 Ubuntu 10.10 上,其他操作系统可能具有不同的脚本名称)
$ 定位 libsvnjava
就我而言,找到以下文件:/usr/lib/jni/libsvnjavahl-1.so、/usr/lib/jni/libsvnjavahl-1.so.0、/usr/lib/jni/libsvnjavahl-1.so.0.0 .0
找到eclipse安装目录的位置。对于自定义安装,我选择 /usr/local/eclipse
编辑包含在该目录中的eclipse.ini。它是一个包含所有 Eclipse 选项的文件,如Eclipse 文档中所述。在该文件中添加一行,内容如下(根据您的本机库路径进行调整)
-Djava.library.path=/usr/lib/jni
重新启动 Eclipse。现在一切正常(在某些情况下,您可能需要重新启动 Linux)。
回答by Eugene Gr. Philippov
Some tales with solution below.
下面是一些带有解决方案的故事。
First, tales. I had a similar error with:
第一,传说。我有一个类似的错误:
svn, version 1.8.8 (r1568071)
;- Eclipse
Mars.1
; - Ubuntu Linux
trusty
; with either:
- Subclipse from Eclipse update site https://dl.bintray.com/subclipse/releases/subclipse/latest/(as of Nov. 22, 2016) or:
- Subclipse from Eclipse Marketplace Subclipse version 1.10.13
(I was toggling both subclipse sources within a single Eclipse Mars.1 instance).
svn, version 1.8.8 (r1568071)
;- 日食
Mars.1
; - Ubuntu Linux
trusty
; 与:
- Subclipse 来自 Eclipse 更新站点 https://dl.bintray.com/subclipse/releases/subclipse/latest/(截至 2016 年 11 月 22 日)或:
- Subclipse 来自 Eclipse Marketplace Subclipse 版本 1.10.13
(我在一个 Eclipse Mars.1 实例中切换了两个 subclipse 源)。
Error messages were:
错误消息是:
java.lang.LinkageError: Native library version must be at least 1.9.0, but is only 1.8.8 (r1568071) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:148) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.types.Version.(Version.java:40) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:145) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.SVNClient.(SVNClient.java:52) at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory.isAvailable(JhlClientAdapterFactory.java:183) at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:90) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:81) 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.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.NoClassDefFoundError: Could not initialize class org.apache.subversion.javahl.SVNClient at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.(JhlClientAdapter.java:57) at org.tigris.subversion.clientadapter.javahl.Activator.getAdapter(Activator.java:64) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:84) 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.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.LinkageError: Native library version must be at least 1.9.0, but is only 1.8.8 (r1568071) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:148) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.types.Version.(Version.java:40) at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:145) at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111) at org.apache.subversion.javahl.SVNClient.(SVNClient.java:52) at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory.isAvailable(JhlClientAdapterFactory.java:183) at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:90) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:81) 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.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.NoClassDefFoundError: Could not initialize class org.apache.subversion.javahl.SVNClient at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapter.(JhlClientAdapter.java:57) at org.tigris.subversion.clientadapter.javahl.Activator.getAdapter(Activator.java:64) at org.tigris.subversion.clientadapter.Activator.getClientAdapter(Activator.java:84) 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.run(DeferredTreeContentManager.java:232) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
The LinkageError
above might probably be caused by incompatibility with [3]:
在LinkageError
上面的力量可能是由不兼容引起的[3]:
[3]:
[3]:
Requirements - current master
[...]
Subversion 1.9 JavaHL client libraries
要求 - 当前主
[...]
Subversion 1.9 JavaHL 客户端库
(this is an excerpt from https://github.com/subclipse/subclipse/wiki, see section Requirements - current master).
(这是https://github.com/subclipse/subclipse/wiki的摘录,请参阅“要求 - 当前大师”部分)。
To solve this incompatibility for my svn 1.8.8
, I tried to install the legacy
为了解决我的 svn 不兼容问题1.8.8
,我尝试安装旧版
SVN 1.8.x - https://dl.bintray.com/subclipse/archive/release/1.10.x/
SVN 1.8.x - https://dl.bintray.com/subclipse/archive/release/1.10.x/
(this is an excerpt from https://github.com/subclipse/subclipse/wiki, see section Legacy Releases).
(这是https://github.com/subclipse/subclipse/wiki的摘录,请参阅Legacy Releases部分)。
Eclipse told Cannot perform operation
and as an alternate solution
I chose Update my installation to be compatible with the items being installed
option in the radio buttons group of alternate solutions. Then, I clicked Next
a few times, confirmed the licenses, replied to unsigned content warning, and restarted Eclipse when prompted. This did not help as various Error Log view entries appeared.
Eclipse 告诉Cannot perform operation
并作为alternate solution
我Update my installation to be compatible with the items being installed
在备用解决方案的单选按钮组中选择的选项。然后,我单击Next
了几次,确认了许可证,回复了未签名内容警告,并在出现提示时重新启动了 Eclipse。这没有帮助,因为出现了各种错误日志视图条目。
Second, a solution.
第二,一个解决方案。
- So, I created a new Eclipse installation with
-Djava.library.path=/usr/lib/i386-linux-gnu/jni/
at-vmargs
(took Eclipse installer from http://www.eclipse.org/downloads/packages/release/Mars/2). - Installed Subclipse for my svn
1.8.8
from the legacy Eclipse update site https://dl.bintray.com/subclipse/archive/release/1.10.x/. - Switched from JavaHL to pure Java SVNKit to avoid asking for password on every repo operation with
svn+ssh:
URLs (see https://stackoverflow.com/a/15949392/529442on this). - Voila, all works great! Enjoy.
- 因此,我使用
-Djava.library.path=/usr/lib/i386-linux-gnu/jni/
at-vmargs
(从http://www.eclipse.org/downloads/packages/release/Mars/2 获取Eclipse 安装程序)创建了一个新的 Eclipse 安装。 1.8.8
从旧版 Eclipse 更新站点https://dl.bintray.com/subclipse/archive/release/1.10.x/为我的 svn 安装 Subclipse 。- 从 JavaHL 切换到纯 Java SVNKit 以避免在每次使用
svn+ssh:
URL 的repo 操作时都要求输入密码(参见https://stackoverflow.com/a/15949392/529442)。 - 瞧,一切都很好!享受。
回答by yclian
It would be helpful if you did provide detailed exception message or a screen-shot to explain the problem.
如果您确实提供了详细的异常消息或屏幕截图来解释问题,那将会很有帮助。
If it's really urgent, use svn
command first before you figure out the fix.
如果真的很紧急,svn
请先使用命令,然后再找出修复方法。
Update #1To help diagnose your problem, download the JavaHL test libraryand follow the instructions mentioned in the page. Update us here and we will assist you further.
更新 #1为帮助诊断您的问题,请下载JavaHL 测试库并按照页面中提到的说明进行操作。在此处更新我们,我们将进一步为您提供帮助。
回答by gabor_the_kid
You have the option to use the SVNKit library instead of JavaHL which is 100% Pure Java implementation of the protocols used by Subversion. This option has the advantage of not requiring any native libraries.
您可以选择使用 SVNKit 库而不是 JavaHL,JavaHL 是 Subversion 使用的协议的 100% 纯 Java 实现。此选项的优点是不需要任何本机库。
回答by techn0mad
I saw the same kind of problems in OS X 10.7.5. The solution seemed to consist of two things:
我在 OS X 10.7.5 中看到了同样的问题。解决方案似乎包括两件事:
- Put the JavaHL .jar file in the same place as the library (in OS X, the library and the jar file are symbolic links placed in /Library/Java/Extensions). h/t to Javin Paul
- Run the test as root. For some unknown reason, running them as a normal user resulted in some kind of permissions problems while creating files.
- 将 JavaHL .jar 文件与库放在同一位置(在 OS X 中,库和 jar 文件是放置在 /Library/Java/Extensions 中的符号链接)。h/t 到Javin Paul
- 以 root 身份运行测试。由于某些未知原因,以普通用户身份运行它们会导致在创建文件时出现某种权限问题。
I'd spend more time tracking the remaining problems down, but I've already spent a whole morning on this :-(
我会花更多的时间来跟踪剩余的问题,但我已经花了一整个上午的时间:-(