[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Ehcache 集成错误  XML
Forum Index -> Terracotta 中文社区
Author Message
zhuxinping

journeyman

Joined: 11/02/2009 19:15:41
Messages: 11
Offline

老马,你好!在使用Terracotta Ehcache集群时报如下异常,Caused by: java.lang.NoClassDefFoundError: com/tc/logging/TCLogger 这个com/tc/logging/TCLogger类或者jar包网上是找不到。

通过Google搜索https://jira.terracotta.org/jira/browse/FORGE-390 与我类似,但没找到解决方法,请问这个是否是系统BUG?如何解决?谢谢!!!
日志输出如下:

net.sf.ehcache.CacheException: Unable to load class net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory. Initial cause was com/tc/logging/TCLogger
at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:109)
at net.sf.ehcache.TerracottaClusteredInstanceHelper.newClusteredInstanceFactory(TerracottaClusteredInstanceHelper.java:103)
at net.sf.ehcache.CacheManager.init(CacheManager.java:311)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:225)
at net.sf.ehcache.CacheManager.create(CacheManager.java:681


Caused by: java.lang.NoClassDefFoundError: com/tc/logging/TCLogger
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.getConstructor(Class.java:1629)
at net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory.<init>(StandaloneTerracottaClusteredInstanceFactory.java:134)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:92)
... 29 more
zhuxinping

journeyman

Joined: 11/02/2009 19:15:41
Messages: 11
Offline

有谁能解答下吗?谢谢啦!
zhuxinping

journeyman

Joined: 11/02/2009 19:15:41
Messages: 11
Offline

com/tc/logging/TCLogger 类在tc.jar 包,而且已经放到程序中,但是还是报同样的错误,纳闷~~
: Unable to load class net.sf.ehcache.terracotta.StandaloneTerracottaClusteredIn
stanceFactory. Initial cause was com/tc/logging/TCLogger

错误就是ehcache-terracotta-2.1.0.jar 中的类StandaloneTerracottaClusteredInstanceFactory 而且没有源代码。。

头都大了。。。
lima

consul
[Avatar]
Joined: 06/22/2009 10:12:31
Messages: 361
Offline

麻烦你吧Java详细的版本信息和Terracotta的详细版本信息贴上来。
谢谢!

老马
zhuxinping

journeyman

Joined: 11/02/2009 19:15:41
Messages: 11
Offline

谢谢老马白忙之中回贴,问题我已经找到了。出现这个问题原因是在我的项目中自定义了自己的ClassLoader,ehcache-terracotta-2.1.0.jar中的也自定义了ClassLoader导致在 StandaloneTerracottaClusteredInstanceFactory类中的
Constructor<?> cstr = boot.getConstructor(String[].class, Map.class, String.class, Boolean.TYPE, ClassLoader.class);反射构造时使用我自定义ClassLoader。所以就出现了java.lang.NoClassDefFoundError: com/tc/logging/TCLogger 。
希望以后的版本中能够改进, !!!
 
Forum Index -> Terracotta 中文社区
Go to:   
Powered by JForum 2.1.7 © JForum Team