升级Quarkus 3.7.2遇构建错误:RESTEasy Reactive与Classic混用不支持
解决Quarkus 3.7.2构建时RESTEasy栈冲突问题
构建时报错:
Build step io.quarkus.resteasy.reactive.common.deployment.ResteasyReactiveCommonProcessor#checkMixingStacks threw an exception: jakarta.enterprise.inject.spi.DeploymentException: Mixing RESTEasy Reactive and RESTEasy Classic server parts is not supported
问题根本原因
你的项目同时引入了RESTEasy Reactive栈和RESTEasy Classic栈的核心依赖,导致Quarkus构建时检测到冲突。具体冲突的是这两个Classic栈依赖:
<dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson2-provider</artifactId> <version>4.7.7.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-core</artifactId> <version>4.7.7.Final</version> </dependency>
你已经通过quarkus-resteasy-reactive-jackson引入了Reactive栈的Jackson序列化支持,无需再依赖Classic栈的resteasy-jackson2-provider;而resteasy-core是RESTEasy Classic的核心组件,和你使用的quarkus-resteasy-reactive完全不兼容。
解决方案
- 移除冲突依赖:从项目的pom.xml中删除上述两个
org.jboss.resteasy的依赖项 - 检查代码兼容性:确认项目代码中没有使用RESTEasy Classic特有的API(比如Classic专属的扩展类、旧版拦截器实现等),Quarkus 3.x的Reactive栈完全支持Jakarta EE标准的JAX-RS API,大部分代码无需调整
- 重新构建:执行构建命令重新编译项目,比如Maven:
./mvnw clean install
内容的提问来源于stack exchange,提问作者mitesh_ra
相关产品推荐
相关产品推荐

