You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Quarkus至3.1.3时遇java.lang.NoSuchMethodError错误求助

Quarkus 2.14升级至3.1.3时Jackson NoSuchMethodError问题解决

错误信息

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:3.1.3.Final:build (default) on project app: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.StreamReadConstraints com.fasterxml.jackson.dataformat.yaml.YAMLParser.streamReadConstraints()'
[ERROR]         at com.fasterxml.jackson.dataformat.yaml.YAMLParser._parseNumericValue(YAMLParser.java:1109)
[ERROR]         at com.fasterxml.jackson.core.base.ParserBase.getNumberType(ParserBase.java:678)
[ERROR]         at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer._fromFloat(JsonNodeDeserializer.java:751)
[ERROR]         at com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer._deserializeContainerNoRecursion(JsonNodeDeserializer.java:576)
[ERROR]         at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:98)
[ERROR]         at com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:23)
[ERROR]         at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
[ERROR]         at com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4772)
[ERROR]         at com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:3104)
[ERROR]         at io.smallrye.openapi.runtime.io.OpenApiParser.parse(OpenApiParser.java:86)
[ERROR]         at io.smallrye.openapi.runtime.OpenApiProcessor.modelFromStaticFile(OpenApiProcessor.java:126)
[ERROR]         at io.smallrye.openapi.runtime.OpenApiProcessor.modelFromStaticFile(OpenApiProcessor.java:97)
[ERROR]         at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.generateStaticModel(SmallRyeOpenApiProcessor.java:838)
[ERROR]         at io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor.build(SmallRyeOpenApiProcessor.java:728)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[ERROR]         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]         at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[ERROR]         at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:909)
[ERROR]         at io.quarkus.builder.BuildContext.run(BuildContext.java:282)
[ERROR]         at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
[ERROR]         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
[ERROR]         at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR]         at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]

解决方案

  • 统一Jackson依赖版本
    在pom.xml的dependencyManagement中导入Jackson BOM,强制所有模块使用指定版本:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>2.15.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
  • 清理构建缓存
    执行Maven清理命令,彻底清除旧构建产物和缓存,强制更新依赖:

    mvn clean install -U
    
  • 强制Quarkus插件使用指定Jackson版本
    在Quarkus Maven插件中显式指定Jackson依赖,避免插件自带的旧版本冲突:

    <build>
        <plugins>
            <plugin>
                <groupId>io.quarkus</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>3.1.3.Final</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-core</artifactId>
                        <version>2.15.2</version>
                    </dependency>
                    <dependency>
                        <groupId>com.fasterxml.jackson.dataformat</groupId>
                        <artifactId>jackson-dataformat-yaml</artifactId>
                        <version>2.15.2</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    
  • 检查静态OpenAPI文件
    错误触发于解析OpenAPI静态文件,可临时移除项目中的OpenAPI yaml/json文件,重新构建验证是否为文件格式问题。

内容的提问来源于stack exchange,提问作者Hiago William Petris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:07:49