SVN Native Client on FeCru 2.7.X - Windows Installation
Problem
The Subversion Native Client fails to load upon starting Fisheye.
The following appears in the atlassian-fisheye-DD-MM-YYYY.log
2012-05-28 14:37:01,762 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Structured second-level cache entries: disabled
2012-05-28 14:37:01,762 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Statistics: disabled
2012-05-28 14:37:01,762 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Deleted entity synthetic identifier rollback: disabled
2012-05-28 14:37:01,762 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Default entity-mode: pojo
2012-05-28 14:37:01,762 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Named query checking : enabled
2012-05-28 14:37:01,763 INFO [main ] cfg.SettingsFactory SettingsFactory-buildSettings - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
2012-05-28 14:37:01,765 INFO [main ] impl.SessionFactoryImpl SessionFactoryImpl-<init> - building session factory
2012-05-28 14:37:02,191 INFO [main ] impl.SessionFactoryObjectFactory SessionFactoryObjectFactory-addInstance - Not binding factory to JNDI, no JNDI name configured
2012-05-28 14:37:02,191 INFO [main ] fisheye.app DefaultDBControl-start - DB Started.
2012-05-28 14:37:05,009 INFO [main ] fisheye.console DelegatingFisheyePluginManager-startOsgi - Starting plugin system...
2012-05-28 14:37:16,894 INFO [main ] fisheye.app CrucibleBridgeImplementation-startup - Starting CrucibleBridge
2012-05-28 14:37:53,293 INFO [main ] fisheye.console Run-mainImpl - Server started on :8060 (http) (control port on 127.0.0.1:8059)
2012-05-28 14:37:53,315 WARN [main ] fisheye.console SvnLoader-onLoaded - Could not load svn-javahl
java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:48)
at com.cenqua.fisheye.svn.util.SvnLoader.checkLoaded(SvnLoader.java:27)
at com.cenqua.fisheye.svn.SvnScmConfig.init(SvnScmConfig.java:135)
at com.cenqua.fisheye.config.ConfigUtil.initScmConfig(ConfigUtil.java:80)
at com.cenqua.fisheye.config.ConfigUtil.createRepositoryConfig(ConfigUtil.java:63)
at com.cenqua.fisheye.config.DefaultRepositoryManager.createRepositoryConfig(DefaultRepositoryManager.java:248)
at com.cenqua.fisheye.config.DefaultRepositoryManager.parseRepositoryConfig(DefaultRepositoryManager.java:242)
at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepository(DefaultRepositoryManager.java:290)
at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepositories(DefaultRepositoryManager.java:326)
at com.cenqua.fisheye.config.RootConfig.startRepositories(RootConfig.java:461)
at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:242)
at com.cenqua.fisheye.ctl.Run.main(Run.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
2012-05-28 14:37:53,319 WARN [main ] fisheye.app DefaultRepositoryManager-runRepositories - Problem starting repository
com.cenqua.fisheye.config.ConfigException: Could not load svn-javahl: java.lang.NoClassDefFoundError-org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:56)
at com.cenqua.fisheye.svn.util.SvnLoader.checkLoaded(SvnLoader.java:27)
at com.cenqua.fisheye.svn.SvnScmConfig.init(SvnScmConfig.java:135)
at com.cenqua.fisheye.config.ConfigUtil.initScmConfig(ConfigUtil.java:80)
at com.cenqua.fisheye.config.ConfigUtil.createRepositoryConfig(ConfigUtil.java:63)
at com.cenqua.fisheye.config.DefaultRepositoryManager.createRepositoryConfig(DefaultRepositoryManager.java:248)
at com.cenqua.fisheye.config.DefaultRepositoryManager.parseRepositoryConfig(DefaultRepositoryManager.java:242)
at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepository(DefaultRepositoryManager.java:290)
at com.cenqua.fisheye.config.DefaultRepositoryManager.runRepositories(DefaultRepositoryManager.java:326)
at com.cenqua.fisheye.config.RootConfig.startRepositories(RootConfig.java:461)
at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:242)
at com.cenqua.fisheye.ctl.Run.main(Run.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
Caused by: java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:48)
2012-05-28 14:36:49,336 WARN [main ] fisheye.console SvnLoader-onLoaded - Could not load svn-javahl
java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:48)
at com.cenqua.fisheye.svn.util.SvnLoader.checkLoaded(SvnLoader.java:27)
at com.cenqua.fisheye.svn.SvnScmConfig.init(SvnScmConfig.java:135)
at com.cenqua.fisheye.config.ConfigUtil.initScmConfig(ConfigUtil.java:80)
at com.cenqua.fisheye.config.ConfigUtil.createRepositoryConfig(ConfigUtil.java:63)
at com.cenqua.fisheye.config.DefaultRepositoryManager.createRepositoryConfig(DefaultRepositoryManager.java:248)
at com.cenqua.fisheye.config.DefaultRepositoryManager.reloadList(DefaultRepositoryManager.java:220)
at com.cenqua.fisheye.config.DefaultRepositoryManager.load(DefaultRepositoryManager.java:143)
at com.cenqua.fisheye.config.RootConfig.start(RootConfig.java:353)
at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:163)
at com.cenqua.fisheye.ctl.Run.main(Run.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
Caused by: java.lang.ClassNotFoundException: org.tigris.subversion.javahl.SVNClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 17 more
2012-05-28 14:36:49,352 ERROR [main ] fisheye.app DefaultRepositoryManager-reloadList - Configuration Problem
com.cenqua.fisheye.config.ConfigException: Could not load svn-javahl: java.lang.NoClassDefFoundError-org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:56)
at com.cenqua.fisheye.svn.util.SvnLoader.checkLoaded(SvnLoader.java:27)
at com.cenqua.fisheye.svn.SvnScmConfig.init(SvnScmConfig.java:135)
at com.cenqua.fisheye.config.ConfigUtil.initScmConfig(ConfigUtil.java:80)
at com.cenqua.fisheye.config.ConfigUtil.createRepositoryConfig(ConfigUtil.java:63)
at com.cenqua.fisheye.config.DefaultRepositoryManager.createRepositoryConfig(DefaultRepositoryManager.java:248)
at com.cenqua.fisheye.config.DefaultRepositoryManager.reloadList(DefaultRepositoryManager.java:220)
at com.cenqua.fisheye.config.DefaultRepositoryManager.load(DefaultRepositoryManager.java:143)
at com.cenqua.fisheye.config.RootConfig.start(RootConfig.java:353)
at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:163)
at com.cenqua.fisheye.ctl.Run.main(Run.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
Caused by: java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/SVNClient
at com.cenqua.fisheye.svn.util.SvnLoader.onLoaded(SvnLoader.java:48)
... 16 more
Caused by: java.lang.ClassNotFoundException: org.tigris.subversion.javahl.SVNClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 17 more
Cause
Fisheye attempts to load the wrong version of the JavaHL JAR file (the jar file name is javahl.jar
).
Resolution
You can download the correct version from here: http://subversion.apache.org/packages.html
- Download the latest Subversion Installer 1.6.X version (1.6.17 at the time this KB was written).
- Download the latest Subversion JavaHL 1.6.X version (1.6.17 at the time this KB was written).
Note: For Windows, after downloading both files install the Setup-Subversion-1.6.17.msi and after that unzip the content of the svn-win32-1.6.17_javahl.zip to the folder C:\path_to_subversion-1.6.17\bin.
After these procedures, follow the instruction on: Native Subversion Client.