ActiveMQConnectionFactory : Unsupported major.minor version 51.0解決方案


報錯代碼:

nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [base/conf/spring/spring-base-activemq.xml]; nested exception is java.lang.UnsupportedClassVersionError: org/apache/activemq/spring/ActiveMQConnectionFactory : Unsupported major.minor version 51.0 (unable to load class org.apache.activemq.spring.ActiveMQConnectionFactory)等一大堆,總之意思就是Unsupported major.minor version 51.0出錯

環境:Eclipse mars +ActiveMQ5.11.1

使用不同版本的JDK,執行Java application時會出現不同的表現。

1、JDK版本爲jdk1.5/J2SE-1.5

錯誤:

java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main"

2、JDK版本爲:JavaSE-1.6

錯誤:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/activemq/ActiveMQConnectionFactory : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.com.activemq1.Receiver.main(Receiver.java:25)

3、JDK版本:JavaSE-1.7

無錯誤。

4、JDK版本Jdk-1.4

session = connection.createSession(Boolean.FALSE,
                    Session.AUTO_ACKNOWLEDGE);

在方法createSession中出現錯誤:

The method createSession(boolean, int) in the type Connection is not applicable for the arguments (Boolean, int)

最終結論:ActiveMQ5.11.1必須在JDK1.7以上版本才能使用。


參考以上答案,將原來配置的jdk1.6版本,更換爲jdk1.7版本後,項目完美啓動

文章借鑑出處:https://www.linuxidc.com/Linux/2015-05/118124.htm,對作者表示感謝



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章