
SpringBoot 在集成 JMS 及 ActiveMQ 时抛出 java.lang.NoClassDefFoundError: javax/jms/JMSContext 异常
出现问题的原因
- spring 5.0 以上版本不会自动导入 JMS 2.0 的依赖
- 但是 activemq-core 5.7 版本需要 JMS 2.0 的依赖
解决办法
- 手动加入 JMS 2.0 依赖
1 2 3 4 5
|
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
|
- 在 activemq-core 5.7 中移除低版本的默认引入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<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>
|
近期评论