我們只在一臺(tái)開發(fā)機(jī)器上始終遇到一個(gè)奇怪的錯(cuò)誤,對(duì)于其他機(jī)器它工作正常(我個(gè)人無法重現(xiàn)該問題):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根據(jù)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)它發(fā)生在 lagom 開發(fā)服務(wù)器引導(dǎo)期間。清除并重新下載 maven 存儲(chǔ)庫(尤其是 scala-lang 和 lagom deps)并沒有解決這個(gè)問題,所以這可能不是由于文件損壞造成的。我將我機(jī)器上的 Scala 罐子與壞機(jī)器上的 Scala 罐子進(jìn)行了比較,它們是一樣的。什么會(huì)導(dǎo)致從子類型到超類型的 ClassCastException,我們應(yīng)該從哪里開始調(diào)查這個(gè)問題?
1 回答

SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是一個(gè)類加載器問題。
核心問題是 Maven 插件使用了配置<extensions>true</extensions>
,這不知何故搞亂了類加載器。
添加回答
舉報(bào)
0/150
提交
取消