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

Jetty 12升级后Scala编译报错:无法找到UserIdentity的Scope内部类

解决Jetty 11升级至12后Mill编译报错问题

错误含义

这个报错表示编译过程中找不到org.eclipse.jetty.server.UserIdentity的内部类Scope。原因是Jetty 12对身份认证相关类结构做了重构,移除或迁移了UserIdentity.Scope这个内部类。虽然你的代码没有直接使用UserIdentity,但依赖的Jetty模块(比如websocket-jetty-server)可能间接引用了旧版本的类结构,版本不兼容导致编译失败。

修复步骤

  • 统一Jetty相关依赖版本:升级Jetty时必须保证所有Jetty模块使用同一版本,避免混合不同版本的类结构。将jetty-server和websocket-jetty-server都升级到Jetty 12的稳定版本(比如12.0.7)。
  • 排查并排除依赖冲突:使用Mill命令mill show <你的模块名>.ivyDepsTree查看完整依赖树,确认是否有其他依赖引入了Jetty 11的残留依赖,如有则通过exclude规则排除。
  • 调整依赖坐标(若需要):少数Jetty 12模块的坐标有变更,若遇到找不到依赖的情况,需确认最新的模块坐标(比如部分模块从javax.servlet迁移到jakarta.servlet相关,但websocket-jetty-server坐标暂时无变化)。

修改后的依赖示例

def ivyDeps = Agg( // https://search.maven.org
    ivy"org.apache.kafka::kafka-streams-scala::2.8.2",
    ivy"org.eclipse.jetty:jetty-server:12.0.7",
    ivy"org.eclipse.jetty.websocket:websocket-jetty-server:12.0.7",
    ivy"org.json4s::json4s-jackson::4.0.7",
    ivy"org.scala-lang.modules::scala-parallel-collections::1.0.4",
    ivy"org.slf4j:slf4j-api:2.0.13",
    ivy"org.slf4j:slf4j-simple:2.0.13",
    ivy"com.github.scopt::scopt::4.1.0"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:45:00