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

Gradle项目运行报错:Jetty相关依赖缺失,请求技术协助

解决Jetty ContextHandler$Context类找不到的Gradle依赖问题

错误原因

报错java.lang.NoClassDefFoundError: org/eclipse/jetty/server/handler/ContextHandler$Context的核心原因是项目未正确引入Jetty服务器的核心依赖,导致运行时无法加载对应的类;开头的JAXB警告是附加问题,不影响核心运行,可按需处理。

具体解决步骤

  1. 添加Jetty核心依赖到Gradle构建脚本
    打开项目根目录下的build.gradle(或build.gradle.kts),在dependencies块中添加Jetty服务器及必要的Servlet依赖:

    // Groovy DSL示例
    dependencies {
        // Jetty服务器核心依赖,版本需与项目其他Jetty依赖保持一致
        implementation 'org.eclipse.jetty:jetty-server:11.0.15'
        // Servlet API依赖,适配Jetty版本
        implementation 'javax.servlet:javax.servlet-api:4.0.1'
    }
    

    若使用Kotlin DSL:

    // Kotlin DSL示例
    dependencies {
        implementation("org.eclipse.jetty:jetty-server:11.0.15")
        implementation("javax.servlet:javax.servlet-api:4.0.1")
    }
    

    提示:版本号要匹配项目现有依赖,可通过./gradlew dependencies命令查看依赖树确认已有Jetty版本,避免版本冲突。

  2. 刷新依赖并重新构建项目
    执行以下Gradle命令清理缓存并重新构建:

    ./gradlew clean build --refresh-dependencies
    

    该命令会强制重新下载所有依赖,确保新添加的Jetty包被正确引入。

  3. 排查依赖冲突(若上述步骤无效)
    若添加依赖后问题仍存在,执行./gradlew dependencies查看完整依赖树,检查是否有其他依赖通过exclude规则移除了Jetty核心包。
    若发现冲突,可在构建脚本中强制指定Jetty版本:

    // Groovy DSL示例
    configurations.all {
        resolutionStrategy.force 'org.eclipse.jetty:jetty-server:11.0.15'
    }
    

可选:解决JAXB警告

若需要启用WADL功能,可添加JAXB相关依赖:

implementation 'org.glassfish.jersey.media:jersey-media-jaxb:3.1.4'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:02:23