Quarkus构建报LoggingResourceProcessor NoSuchMethodError如何解决
问题根因
该报错是Quarkus组件版本不兼容导致的:
你在pom中已经导入了版本为2.1.3.Final的Quarkus官方BOM,BOM本身已经统一管理了所有Quarkus生态组件的兼容版本,但你手动给所有quarkus开头的依赖指定了2.2.0.CR1的版本,同时quarkus-maven插件使用的是BOM对应的2.1.3.Final版本,跨版本的API差异直接触发了NoSuchMethodError异常。
解决步骤
- 删除所有
<dependencies>节点下quarkus相关依赖的<version>标签,依赖版本统一由BOM管理,不需要手动指定,比如:
修改前:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-core-deployment</artifactId> <version>2.2.0.CR1</version> </dependency>
修改后:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-core-deployment</artifactId> </dependency>
所有quarkus开头的依赖都需要做相同修改。
- 如果你需要使用
2.2.0.CR1版本的Quarkus,直接修改properties节点下的<quarkus.platform.version>值为2.2.0.CR1即可,所有组件会自动同步该版本。 - 配置修改完成后执行
mvn clean install重新构建即可解决报错。
额外优化建议
你同时引入了mysql和mssql两个JDBC驱动,如果实际只使用其中一个,可以删除不需要的依赖,减少应用构建体积和启动耗时。
内容的提问来源于stack exchange,提问作者Vitor
相关产品推荐
相关产品推荐

