1 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
您遇到的問題是 Spring 無法實(shí)例化@Autowired您指定的類。
它無法實(shí)例化這些類的原因是它找不到它們所依賴的類,如堆棧跟蹤底部所示:
Caused by: java.lang.NoClassDefFoundError: javax/jms/JMSContext
at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_191]
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_191]
at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_191]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:668) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
... 62 common frames omitted
Caused by: java.lang.ClassNotFoundException: javax.jms.JMSContext
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_191]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_191]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_191]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_191]
... 66 common frames omitted
如此處所述,這意味著您需要獲取可供應(yīng)用程序加載的 JMS 庫。
在您的 pom 中,您沒有指定spring-jms要使用的版本,因此您獲得的版本可能不包含您需要的庫。
您可以更新您的 pom 以獲得最新版本,如下所述:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jms -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
或者,您可以通過將以下內(nèi)容添加到您的 pom(在此處找到)來顯式包含 JMS 庫:
<!-- https://mvnrepository.com/artifact/javax.jms/javax.jms-api -->
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
希望其中之一將允許 Spring 實(shí)例化所有 bean 并啟動(dòng)應(yīng)用程序。
添加回答
舉報(bào)