我寫了一個運行在Weblogic 10.3上的Spring應用程序。在這個應用程序中,我有一些JMS Queue使用者。NoClassDefFoundError in spring
有時候,我得到了在應用程序關閉或打開(我看到在這兩個情況下這個錯誤)說的錯誤:
java.lang.NoClassDefFoundError: org/springframework/jms/connection/SmartConnectionFactory
at org.springframework.jms.connection.ConnectionFactoryUtils.releaseConnection(ConnectionFactoryUtils.java:72)
at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:385)at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:779)
at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:761)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:892)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.springframework.jms.connection.SmartConnectionFactory
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:176)
at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:35)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
... 6 more
爲什麼會出現這個錯誤,我應該怎麼做才能解決呢? spring.jar的版本是2.5.5
這是在我的戰爭檔案:)有什麼需要嗎? – 2010-01-06 17:08:55
在這種情況下,我猜測你有一些啓動/關閉類,調用之前戰爭文件被加載。我會手動嘗試將jar文件放在服務器的類路徑或庫文件夾中,而不僅僅是在war文件中。有時冗餘是最好的解決方案。 – Poindexter 2010-01-06 17:32:22
沒有啓動或關閉的類,我介紹給Weblogic,但我會給這個鏡頭:) – 2010-01-08 12:06:13