spring cloud整合rocketmq遇到的错误
定义spring cloud项目根目录的pom.xml时,通常会进行版本规范如,但是在启动项目是会报错:Action:Correct the classpath of your application so that it contains compatible versions of the classes org.apache.rocketmq.spring.support.DefaultRo
·
spring cloud整合rocketmq遇到的错误
定义spring cloud项目根目录的pom.xml时,
通常会进行版本规范如:
<properties>
<spring-boot.version>3.2.7</spring-boot.version>
<spring-cloud.version>2023.0.3</spring-cloud.version>
<spring-cloud-alibaba.version>2023.0.1.2</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在其他一个子项目中引入rocketmq
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
启动项目报如下错误:
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer.initRocketMQPushConsumer(DefaultRocketMQListenerContainer.java:645)
The following method did not exist:
'void org.apache.rocketmq.client.consumer.DefaultMQPushConsumer.setNamespaceV2(java.lang.String)'
The calling method's class, org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer, was loaded from the following location:
jar:file:/E:/maven/org/apache/rocketmq/rocketmq-spring-boot/2.3.1/rocketmq-spring-boot-2.3.1.jar!/org/apache/rocketmq/spring/support/DefaultRocketMQListenerContainer.class
The called method's class, org.apache.rocketmq.client.consumer.DefaultMQPushConsumer, is available from the following locations:
jar:file:/E:/maven/org/apache/rocketmq/rocketmq-client/5.1.4/rocketmq-client-5.1.4.jar!/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.class
The called method's class hierarchy was loaded from the following locations:
org.apache.rocketmq.client.consumer.DefaultMQPushConsumer: file:/E:/maven/org/apache/rocketmq/rocketmq-client/5.1.4/rocketmq-client-5.1.4.jar
org.apache.rocketmq.client.ClientConfig: file:/E:/maven/org/apache/rocketmq/rocketmq-client/5.1.4/rocketmq-client-5.1.4.jar
Action:
Correct the classpath of your application so that it contains compatible versions of the classes org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer and org.apache.rocketmq.client.consumer.DefaultMQPushConsumer
错的莫名其妙
主要错误原因是——rocketmq-client版本不符导致
导致错误的原因是spring-cloud-alibaba-dependencies约定了rocketmq-client的版本规范,错误的更改了原本rocketmq-spring-boot-starter约定的版本,导致版本不一致,无法启动。
只需要手动修改版本即可👇
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>5.2.0</version>
</dependency>
项目正常启动
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)