JavaHL not loading (NoClassDefError)
Asked Answered
G

5

6

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.

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.

Edit: Here's the output from java -jar javahltests.jar now after reinstalling a jdk:

.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:

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
Gisser answered 18/7, 2010 at 8:56 Comment(0)
W
11

I had the same problem with my Eclipse Helios installation in Ubuntu. To solve the problem I had to do the following.

  1. Install the svn library

    $ sudo apt-get install libsvn-java

  2. 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

  3. Find the location of eclipse installation directory. For the custom installation I choose /usr/local/eclipse

  4. Edit eclipse.ini contained 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

  5. Restart Eclipse. Everything should work now (In some cases you may need to restart Linux) .

Wickedness answered 23/1, 2011 at 11:7 Comment(2)
Also note that in Step 4, if setting the -Djava.library.path=... doesn't work for you, you might try running export LD_LIBRARY_PATH=/usr/lib/jni:$LD_LIBRARY_PATH which is what worked for me.Shabby
in my case -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni/ workedUle
S
3

Some tales with solution below.

First, tales. I had a similar error with:

  • svn, version 1.8.8 (r1568071);
  • Eclipse Mars.1;
  • Ubuntu Linuxtrusty;
  • with either:

    (I was toggling both subclipse sources within a single Eclipse Mars.1 instance).

Error messages were:

  1. 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$1.run(DeferredTreeContentManager.java:232)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
  2. 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$1.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]:

[3]:

Requirements - current master

  • [...]

  • Subversion 1.9 JavaHL client libraries

(this is an excerpt from https://github.com/subclipse/subclipse/wiki, see section Requirements - current master).

To solve this incompatibility for my svn 1.8.8, I tried to install the legacy

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).

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.


Second, a solution.

Standardbearer answered 21/11, 2016 at 18:31 Comment(0)
P
2

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.

Update #1 To help diagnose your problem, download the JavaHL test library and follow the instructions mentioned in the page. Update us here and we will assist you further.

Pelagias answered 18/7, 2010 at 17:36 Comment(5)
Hi yclian, thanks for the reply. I've added some error messages and a screenshot. Just to add something, putty can access the server and tortoisesvn can do a checkout using a private key. The issue does seem limited to Eclipse. I could make do with tortoisesvn I suppose but it has less options than subclipseGisser
The JavaHL results have been added to the answer. It's as if it can't find any of the classes despite the plugin being shown as installed in Eclipse.Gisser
Your JavaHL test results seem to be JVM crash. Have you tried running it a few times and with other JRE versions?Pelagias
Is it possible to run different version of the JRE concurrently? Yes, it does seem to have been a crash. It may have been due to a bug with Eclipse 3.6 (later is not greater) which prevents it detecting Java correctly causing it to allocate insufficient memory. What I've done in the meantime is reinstall again with a more recent OS. JavaHL seems to be able to dialogue with TortoisePLink again. I guess this means that the problem is solved. It would have been nice to find out what the problem was but I have a lot of catching up to do with a project.Gisser
Yes, you may run different JREs concurrently - almost always possible. Note that, your JavaHL test might not be using the same JRE as your Eclipse's.Pelagias
R
2

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.

Ranket answered 18/7, 2010 at 21:55 Comment(3)
Thanks for the suggeston gubra. I've tested it and a dialog box continually pops up requesting authentication information. The way things were configured previously was that Subclipse would look in it's config file to read the "svn =" line and trigger TortoisePLink which in turn goes through Pageant to get hold of the key file.Gisser
I'd be cool if you could add the simple command to use SVNKit instead. If I find it I'll add it here.Detention
The working instructions on how to switch to pure Java SVNKit are available here: <https://mcmap.net/q/955737/-eclipse-subclipse-1-8-2-svn-1-7-0-asks-password-every-action>.Standardbearer
S
1

I saw the same kind of problems in OS X 10.7.5. The solution seemed to consist of two things:

  • 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.

I'd spend more time tracking the remaining problems down, but I've already spent a whole morning on this :-(

Sentimentality answered 2/5, 2013 at 19:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.