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

Jetty 12实例化Server时抛出NoSuchMethodError异常求助

解决Jetty 12.0.8初始化时的NoSuchMethodError问题

这个java.lang.NoSuchMethodError: 'boolean org.eclipse.jetty.server.Handler$Wrapper.installBean(java.lang.Object)'错误,本质是类版本不匹配——要么项目混入了低版本Jetty的类,要么Jetty 12的核心依赖没配齐。按以下步骤排查:

1. 排查依赖版本冲突

Jetty 12重构了Handler相关内部API,低版本(如11.x、10.x)的Handler$Wrapper类没有installBean方法。必须确保所有Jetty相关依赖版本都是12.0.8:

  • Maven项目执行:mvn dependency:tree,搜索所有org.eclipse.jetty开头的依赖,检查版本一致性,排除非12.0.8的依赖。
  • Gradle项目执行:./gradlew dependencies,排查版本冲突,通过exclude指令移除低版本冲突依赖。

2. 确保核心依赖完整

Jetty 12采用模块化设计,仅引入jetty-server可能不够,需配齐核心模块。以Maven为例,至少需要:

<dependencies>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>12.0.8</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>12.0.8</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-io</artifactId>
        <version>12.0.8</version>
    </dependency>
</dependencies>

如果涉及Servlet、Web应用,还要补充jetty-servlet或jetty-webapp,版本必须保持12.0.8。

3. 清理构建缓存与本地仓库

本地仓库的Jetty jar可能损坏或版本混装,执行以下操作:

  • Maven:删除本地仓库Jetty目录(~/.m2/repository/org/eclipse/jetty),再执行mvn clean install重新拉取依赖。
  • Gradle:执行./gradlew clean build --refresh-dependencies,强制刷新依赖并清理构建缓存。

4. 验证类加载环境

如果在第三方容器(如Tomcat)中运行Jetty代码,需确保容器未提供旧版本Jetty类。添加-verbose:class启动参数,查看Handler$Wrapper类的加载路径,确认是否来自12.0.8版本的jar。

5. 最小化测试验证

写一个极简测试类,仅依赖Jetty核心包,验证初始化是否正常:

import org.eclipse.jetty.server.Server;

public class MinimalJettyTest {
    public static void main(String[] args) throws Exception {
        Server server = new Server(8080);
        server.start();
        System.out.println("Jetty started successfully");
        server.stop();
    }
}

如果该代码能正常运行,说明项目中其他依赖引入了冲突的Jetty版本;如果仍报错,重新下载Jetty官方发布的jar包替换本地仓库对应文件。

内容的提问来源于stack exchange,提问作者BarbetNL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:15:13