为了账号安全,请及时绑定邮箱和手机立即绑定

从子类型到超类型的 ClassCastException(在 Scala 中)

从子类型到超类型的 ClassCastException(在 Scala 中)

皈依舞 2023-06-04 15:05:06
我们只在一台开发机器上始终遇到一个奇怪的错误,对于其他机器它工作正常(我个人无法重现该问题):Caused by: java.lang.ClassCastException: scala.collection.immutable.$colon$colon cannot be cast to scala.collection.Seq    at scala.Option.map (Option.scala:163)    at com.lightbend.lagom.maven.RunAllMojo.$anonfun$execute$15 (ServiceMojos.scala:402)Seq根据https://www.scala-lang.org/api/2.12.0/scala/collection/immutable/$colon$colon.html::是( $colon$colon)的线性超类型。我们将 Lagom 1.6.0-M2 用于 Java DSL,以及 Scala 2.12。Java 版本:openjdk version "1.8.0_212"OpenJDK Runtime Environment Corretto-8.212.04.2 (build 1.8.0_212-b04)OpenJDK 64-Bit Server VM Corretto-8.212.04.2 (build 25.212-b04, mixed mode)它发生在 lagom 开发服务器引导期间。清除并重新下载 maven 存储库(尤其是 scala-lang 和 lagom deps)并没有解决这个问题,所以这可能不是由于文件损坏造成的。我将我机器上的 Scala 罐子与坏机器上的 Scala 罐子进行了比较,它们是一样的。什么会导致从子类型到超类型的 ClassCastException,我们应该从哪里开始调查这个问题?
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

这是一个类加载器问题。

核心问题是 Maven 插件使用了配置<extensions>true</extensions>,这不知何故搞乱了类加载器。

查看完整回答
反对 回复 2023-06-04
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信