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

升级Jetty后遭遇Class Not Found Exception错误求助

解决Jetty-util从6.1.26升级到9.4.53后出现的NoClassDefFoundError问题
  • 检查依赖冲突与遗留旧jar
    先确认项目里是不是还留着旧版本的jetty-util:

    • 打开IDEA的File > Project Structure > Libraries,搜索jetty-util,确保只有9.4.53版本存在
    • 用依赖分析命令排查间接依赖:
      • Maven项目执行:mvn dependency:tree | grep jetty-util,看是否有其他依赖偷偷引入了旧版本
      • Gradle项目执行:./gradlew dependencies | grep jetty-util
    • 如果发现旧版本,在对应的依赖中添加排除规则(Maven示例):
      <dependency>
          <!-- 填写你的依赖信息 -->
          <groupId>xxx</groupId>
          <artifactId>xxx</artifactId>
          <version>xxx</version>
          <exclusions>
              <exclusion>
                  <groupId>org.mortbay.jetty</groupId>
                  <artifactId>jetty-util</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
  • 清理重构项目

    • 清除IDEA缓存:File > Invalidate Caches...,勾选Clear file system cache and local history,点击Invalidate and Restart
    • 清理构建产物后重新打包:
      • Maven:mvn clean install -U
      • Gradle:./gradlew clean build --refresh-dependencies
    • 确认target/classes或build/classes目录下没有旧版本的class文件
  • 检查groupId是否更新
    Jetty 6.x的groupId是org.mortbay.jetty,9.x已改为org.eclipse.jetty,确认项目依赖配置是否同步修改:
    正确的9.x依赖配置(Maven):

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>9.4.53.v20231009</version>
    </dependency>
    
  • 排查API重构导致的类缺失
    Jetty从6到9做了大量API重构,部分类可能被重命名、迁移或删除:

    • 找到报错的类名,在Jetty 9.x的源码或文档中确认该类是否存在
    • 如果类迁移了,更新项目中的import语句;如果类已删除,寻找对应的替代API

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:31:10