java.lang.ClassNotFoundException: javax.jms.JMSContext

使用的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.jmsgroupId>
    <artifactId>javax.jms-apiartifactId>
    <version>2.0.1version>
dependency>

为了防止冲突,可以从activemq-core中去除JMS 1.1,pom 如下所示

<dependency>
    <groupId>org.apache.activemqgroupId>
    <artifactId>activemq-coreartifactId>
    <version>5.7.0version>
    <exclusions>
        <exclusion>
            <artifactId>spring-contextartifactId>
            <groupId>org.springframeworkgroupId>
        exclusion>
        <exclusion>
            <groupId>org.apache.geronimo.specsgroupId>
            <artifactId>geronimo-jms_1.1_specartifactId>
        exclusion>
    exclusions>
dependency>

你可能感兴趣的:(框架问题)