亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java.lang.ClassNotFoundException: javax.jms.JMSContext

對照了老師的代碼看了,啟動的時候報這個,我找了一下jar包里面確實沒有這個類,請教一下這個是什么原因呢,jar包應該不會引錯。

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionFactory': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.jms.connection.SingleConnectionFactory] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:262)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1198)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1123)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502)

at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:758)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:144)

at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:85)

at com.imyzone.jms.producer.AppProducer.main(AppProducer.java:17)

Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.jms.connection.SingleConnectionFactory] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]

at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:659)

at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:556)

at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:541)

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:245)

... 14 more

Caused by: java.lang.NoClassDefFoundError: javax/jms/JMSContext

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)

at java.lang.Class.getDeclaredMethods(Class.java:1975)

at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:641)

... 17 more

Caused by: java.lang.ClassNotFoundException: javax.jms.JMSContext

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 21 more


Process finished with exit code 1


正在回答

6 回答

spring版本的問題,我最開始用spring5.0.5也是報這個錯誤,后來換成4.2.5就正常了

0 回復 有任何疑惑可以回復我~

這個問題我同樣遇到,提供一下我的解決辦法。
我使用的spring版本是5.0.4.RELEASE,activemq-core版本5.7.0。這個版本的Spring需要使用JMS 2.0版本,但spring-jms的依賴沒有自動導入JMS 2.0,而activemq-core會導入JMS 1.1的依賴,這就導致出現版本問題,

可以添加一下依賴解決,JMS 2.0 依賴如下

<dependency>
????<groupId>javax.jms</groupId>
????<artifactId>javax.jms-api</artifactId>
????<version>2.0.1</version>
</dependency>

為了防止沖突,可以從activemq-core中去除JMS 1.1,pom 如下所示

<dependency>
????<groupId>org.apache.activemq</groupId>
????<artifactId>activemq-core</artifactId>
????<version>5.7.0</version>
????<exclusions>
????????<exclusion>
????????????<artifactId>spring-context</artifactId>
????????????<groupId>org.springframework</groupId>
????????</exclusion>
????????<exclusion>
????????????<groupId>org.apache.geronimo.specs</groupId>
????????????<artifactId>geronimo-jms_1.1_spec</artifactId>
????????</exclusion>
????</exclusions>
</dependency>


6 回復 有任何疑惑可以回復我~

我也是同樣的問題,后來發現把Impl文件里的destination 導入路徑不對,改成jms的就OK了

1 回復 有任何疑惑可以回復我~

貌似是spring版本的問題,我最開始用spring5.0.2也是報這個錯誤,后來換成4.2.5就正常了

0 回復 有任何疑惑可以回復我~

請問后來解決了么,怎么解決的?

0 回復 有任何疑惑可以回復我~

到包是不是導錯了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java消息中間件
  • 參與學習       54134    人
  • 解答問題       157    個

使用Java消息中間件處理異步消息

進入課程

java.lang.ClassNotFoundException: javax.jms.JMSContext

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號