Java 运行时NoClassDefFoundError的可能原因

Java 运行时NoClassDefFoundError的可能原因,java,weblogic,Java,Weblogic,我在Weblogic的两个节点上运行Weblogic 9、JRockit和应用程序。 在编译、部署应用程序并成功运行数小时后,我发现以下错误: java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType at net.sf.ehcache.store.FrontEndCacheTier.readLock(FrontEndCacheTier.java:632) at net.sf.ehcache.store.

我在Weblogic的两个节点上运行Weblogic 9、JRockit和应用程序。 在编译、部署应用程序并成功运行数小时后,我发现以下错误:

java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType
    at net.sf.ehcache.store.FrontEndCacheTier.readLock(FrontEndCacheTier.java:632)
    at net.sf.ehcache.store.FrontEndCacheTier.getKeys(FrontEndCacheTier.java:485)
    at net.sf.ehcache.Cache.getKeys(Cache.java:1913)
    at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.getKeys(OnlineEhcacheSMLocalStore.java:44)
    at org.terracotta.modules.ehcache.store.servermap.EhcacheSMLocalStore.getKeys(EhcacheSMLocalStore.java:82)
    at com.terracotta.toolkit.collections.servermap.L1ServerMapLocalCacheStoreImpl.getKeys(L1ServerMapLocalCacheStoreImpl.java:51)
    at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.clear(ServerMapLocalCacheImpl.java:247)
    at com.tc.object.TCObjectServerMapImpl.clearLocalCache(TCObjectServerMapImpl.java:600)
    at com.terracotta.toolkit.collections.ConcurrentDistributedServerMapDsoApplicator.hydrate(ConcurrentDistributedServerMapDsoApplicator.java:145)
    at com.tc.object.TCClassImpl.hydrate(TCClassImpl.java:199)
    at com.tc.object.TCObjectImpl.hydrate(TCObjectImpl.java:113)
    at com.tc.object.tx.ClientTransactionManagerImpl.basicApply(ClientTransactionManagerImpl.java:350)
    at com.tc.object.tx.ClientTransactionManagerImpl.apply(ClientTransactionManagerImpl.java:378)
    at com.tc.object.handler.ReceiveTransactionHandler.handleEvent(ReceiveTransactionHandler.java:100)
    at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:145)  

<04.07.2012 13:28:54 MSD> Notice WebLogicServer BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now  

<04.07.2012 13:28:54 MSD> Alert WebLogicServer BEA-000396 Server shutdown has been requested by WLS Kernel
Exception in thread "Thread-42" java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType
    at net.sf.ehcache.store.FrontEndCacheTier.writeLock(FrontEndCacheTier.java:644)
    at net.sf.ehcache.store.FrontEndCacheTier.removeAll(FrontEndCacheTier.java:503)
    at net.sf.ehcache.Cache.removeAll(Cache.java:2461)
    at net.sf.ehcache.Cache.removeAll(Cache.java:2446)
    at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.clear(OnlineEhcacheSMLocalStore.java:13
如您所见,WebLogic在收到此错误后决定关闭这两个节点。
运行时出现NoClassDefFoundError的原因是什么?我想这个类LockType应该在这个错误之前使用,这意味着它必须在运行时卸载,对吗?

可能是的重复。这个问题更常见。我希望更多的人能帮助我。另一篇文章非常专业,我不确定terracotta或ehcache在这个问题上是否有任何意义