Native Client Throws NoClassDefFoundError in Fisheye 2.x

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

Setting up the Native Client in Fisheye/Crucible 2.0+ throws the following error:


ERROR: problem running command
java.lang.reflect.InvocationTargetException
	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:106)
	at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:39)
Caused by: java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/LogMessageCallback
	at com.cenqua.fisheye.svn.SvnRepositoryEngine.<init>(SvnRepositoryEngine.java:38)
	at com.cenqua.fisheye.svn.SvnScmConfig.createRepositoryEngine(SvnScmConfig.java:123)
	at com.cenqua.fisheye.RepositoryConfig.createRepositoryEngine(RepositoryConfig.java:161)
	at com.cenqua.fisheye.rep.RepositoryHandle.run(RepositoryHandle.java:293)
	at com.cenqua.fisheye.config.RepositoryManager.runRepository(RepositoryManager.java:231)
	at com.cenqua.fisheye.config.RootConfig.startRepositories(RootConfig.java:462)
	at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:248)
	at com.cenqua.fisheye.ctl.Run.main(Run.java:46)
	... 6 more
Caused by: java.lang.ClassNotFoundException: org.tigris.subversion.javahl.LogMessageCallback
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	... 14 more

原因

Fisheye or Crucible 2.0+ requires SVN 1.5+ (with the javahl libs 1.5+) in order for the native client to work, and is incompatible with Subversion 1.4 or earlier.

ソリューション

Upgrade your SVN repository to 1.5 or above and download the javahl 1.5x libs, to connect Fisheye/Crucible 2.x to the native client.

Alternatively you can use the SVNKit client that comes bundled with Fisheye/Crucible 2.x.

または

If your server fails to start up because of the above error (and you cannot go into administration to remove the native client settings), edit your FISHEYE_INST/config.xml and remove the bit:


<svn-config jar="/path/to/jar" jnilib="path/to/dynamic lib"/>

Without the above, the next time you restart Crucible will use the bundled SVNKit.

If you do not have the above in your config.xml file, but your fisheye server still fails to load up with the error java.lang.NoClassDefFoundError: org/tigris/subversion/javahl/LogMessageCallback, check to ensure that the "svn-javahl.jar" is not being loaded (i.e. does not exist in your FISHEYE_INST/lib or FISHEYE_HOME/lib directory, where the jars are loaded into fisheye) and that it is not being included in the classpath (i.e. not included in the FISHEYE_LIBRARY_PATH Environment Variables ).

最終更新日 2012 年 11 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.