Compiling my Scala project with JDK 17.
status:
the project once used sbt version 1.2.8 and scala 2.12.8, and targets JDK 11. it works fine. And recently, we wanted to upgrade the JDK to 17.
steps:
According to the page about JDK compatibility https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html. The sbt version should be upgraded to 1.6.0. And the Scala version should be upgraded to 2.12.15.
1. Compile error with JDK17
If I do not make the changes to the sbt version and scala version, the compilation will fail with an error message:error: error while loading String, class file '/modules/java.base/java/lang/String.class' is broken
(class java.lang.NullPointerException/Cannot invoke "scala.tools.nsc.Global$Run.typerPhase()" because the return value of "scala.tools.nsc.Global.currentRun()" is null)[error] java.io.IOError: java.lang.RuntimeException: /packages cannot be represented as URI[error] at java.base/jdk.internal.jrtfs.JrtPath.toUri(JrtPath.java:175)
[error] at scala.tools.nsc.classpath.JrtClassPath.asURLs(DirectoryClassPath.scala:204)[error] at scala.tools.nsc.classpath.AggregateClassPath.$anonfun$asURLs$1(AggregateClassPath.scala:55)[error] at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240)[error] at scala.collection.Iterator.foreach(Iterator.scala:937)[error] at scala.collection.Iterator.foreach$(Iterator.scala:937)[error] at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)[error] at scala.collection.IterableLike.foreach(IterableLike.scala:70)[error] at scala.collection.IterableLike.foreach$(IterableLike.scala:69)[error] at scala.collection.AbstractIterable.foreach(Iterable.scala:54)[error] at scala.collection.TraversableLike.flatMap(TraversableLike.scala:240)[error] at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237)[error] at scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)[error] at scala.tools.nsc.classpath.AggregateClassPath.asURLs(AggregateClassPath.scala:55)[error] at scala.tools.nsc.typechecker.Macros.findMacroClassLoader(Macros.scala:66)[error] at scala.tools.nsc.typechecker.Macros.findMacroClassLoader$(Macros.scala:65)[error] at scala.tools.nsc.Global$$anon$1.findMacroClassLoader(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes.$anonfun$defaultMacroClassloaderCache$2(MacroRuntimes.scala:56)[error] at scala.reflect.internal.SymbolTable$perRunCaches$$anon$1.apply(SymbolTable.scala:457)[error] at scala.reflect.macros.runtime.MacroRuntimes.defaultMacroClassloader(MacroRuntimes.scala:58)[error] at scala.reflect.macros.runtime.MacroRuntimes.defaultMacroClassloader$(MacroRuntimes.scala:58)[error] at scala.tools.nsc.Global$$anon$1.defaultMacroClassloader(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes$MacroRuntimeResolver.resolveRuntime(MacroRuntimes.scala:76)[error] at scala.reflect.macros.runtime.MacroRuntimes.$anonfun$standardMacroRuntime$3(MacroRuntimes.scala:38)[error] at scala.collection.mutable.MapLike.getOrElseUpdate(MapLike.scala:206)[error] at scala.collection.mutable.MapLike.getOrElseUpdate$(MapLike.scala:203)[error] at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:80)[error] at scala.reflect.macros.runtime.MacroRuntimes.standardMacroRuntime(MacroRuntimes.scala:38)[error] at scala.reflect.macros.runtime.MacroRuntimes.standardMacroRuntime$(MacroRuntimes.scala:31)[error] at scala.tools.nsc.Global$$anon$1.standardMacroRuntime(Global.scala:469)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$14.default(AnalyzerPlugins.scala:448)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$14.default(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroRuntime(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroRuntime$(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.Global$$anon$1.pluginsMacroRuntime(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes.macroRuntime(MacroRuntimes.scala:25)[error] at scala.reflect.macros.runtime.MacroRuntimes.macroRuntime$(MacroRuntimes.scala:25)[error] at scala.tools.nsc.Global$$anon$1.macroRuntime(Global.scala:469)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:619)[error] at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)[error] at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)[error] at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)[error] at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)[error] at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)[error] at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1163)[error] at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1223)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5631)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:881)[error] at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:471)[error] at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1219)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5631)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3280)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:471)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedArgToPoly$1(Typers.scala:3670)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$33(Typers.scala:3678)[error] at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3678)[error] at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3689)[error] at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4767)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4776)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5571)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedIf$1(Typers.scala:5692)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5547)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5581)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:5833)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5536)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5681)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1999)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1868)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5538)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5681)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5247)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5540)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:106)[error] at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:441)[error] at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:96)[error] at sbt.compiler.Eval.$anonfun$compileAndLoad$1(Eval.scala:248)[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)[error] at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:282)[error] at sbt.compiler.Eval.compile$1(Eval.scala:248)[error] at sbt.compiler.Eval.compileAndLoad(Eval.scala:253)[error] at sbt.compiler.Eval.evalCommon(Eval.scala:218)[error] at sbt.compiler.Eval.eval(Eval.scala:128)[error] at sbt.internal.EvaluateConfigurations$.evaluateDslEntry(EvaluateConfigurations.scala:239)[error] at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$2(EvaluateConfigurations.scala:158)[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)[error] at scala.collection.immutable.List.foreach(List.scala:388)[error] at scala.collection.TraversableLike.map(TraversableLike.scala:233)[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226)[error] at scala.collection.immutable.List.map(List.scala:294)[error] at sbt.internal.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:156)[error] at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1136)[error] at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1144)[error] at scala.collection.MapLike.getOrElse(MapLike.scala:127)[error] at scala.collection.MapLike.getOrElse$(MapLike.scala:125)[error] at scala.collection.AbstractMap.getOrElse(Map.scala:59)[error] at sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1143)[error] at sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1151)[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)[error] at scala.collection.immutable.List.foreach(List.scala:388)[error] at scala.collection.TraversableLike.map(TraversableLike.scala:233)[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226)[error] at scala.collection.immutable.List.map(List.scala:294)[error] at sbt.internal.Load$.loadFiles$1(Load.scala:1151)[error] at sbt.internal.Load$.discoverProjects(Load.scala:1165)[error] at sbt.internal.Load$.discover$1(Load.scala:862)[error] at sbt.internal.Load$.loadTransitive(Load.scala:937)[error] at sbt.internal.Load$.loadProjects$1(Load.scala:726)[error] at sbt.internal.Load$.$anonfun$loadUnit$11(Load.scala:729)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:729)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.loadUnit(Load.scala:688)[error] at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:484)[error] at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:176)[error] at sbt.internal.BuildLoader.apply(BuildLoader.scala:241)[error] at sbt.internal.Load$.loadURI$1(Load.scala:546)[error] at sbt.internal.Load$.loadAll(Load.scala:562)[error] at sbt.internal.Load$.loadURI(Load.scala:492)[error] at sbt.internal.Load$.load(Load.scala:471)[error] at sbt.internal.Load$.$anonfun$apply$1(Load.scala:251)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.apply(Load.scala:251)[error] at sbt.internal.GlobalPlugin$.build(GlobalPlugin.scala:59)[error] at sbt.internal.GlobalPlugin$.load(GlobalPlugin.scala:64)[error] at sbt.internal.Load$.loadGlobal(Load.scala:193)[error] at sbt.internal.Load$.defaultWithGlobal(Load.scala:150)[error] at sbt.internal.Load$.$anonfun$defaultLoad$1(Load.scala:64)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.defaultLoad(Load.scala:60)[error] at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:829)[error] at sbt.BuiltinCommands$.doLoadProject(Main.scala:829)[error] at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:800)[error] at sbt.Command$.$anonfun$applyEffect$4(Command.scala:142)[error] at sbt.Command$.$anonfun$applyEffect$2(Command.scala:137)[error] at sbt.Command$.process(Command.scala:181)[error] at sbt.MainLoop$.processCommand(MainLoop.scala:151)[error] at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139)[error] at sbt.State$$anon$1.runCmd$1(State.scala:246)[error] at sbt.State$$anon$1.process(State.scala:250)[error] at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)[error] at sbt.MainLoop$.next(MainLoop.scala:139)[error] at sbt.MainLoop$.run(MainLoop.scala:132)[error] at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)[error] at sbt.io.Using.apply(Using.scala:22)[error] at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)[error] at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)[error] at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)[error] at sbt.MainLoop$.runLogged(MainLoop.scala:35)[error] at sbt.StandardMain$.runManaged(Main.scala:138)[error] at sbt.xMain.run(Main.scala:89)[error] at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)[error] at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)[error] at xsbt.boot.Launch$.run(Launch.scala:149)[error] at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)[error] at xsbt.boot.Launch$.launch(Launch.scala:159)[error] at xsbt.boot.Launch$.apply(Launch.scala:44)[error] at xsbt.boot.Launch$.apply(Launch.scala:21)[error] at xsbt.boot.Boot$.runImpl(Boot.scala:78)[error] at xsbt.boot.Boot$.run(Boot.scala:73)[error] at xsbt.boot.Boot$.main(Boot.scala:21)[error] at xsbt.boot.Boot.main(Boot.scala)[error] Caused by: java.lang.RuntimeException: /packages cannot be represented as URI[error] at java.base/jdk.internal.jrtfs.JrtPath.toUri(JrtPath.java:175)[error] at scala.tools.nsc.classpath.JrtClassPath.asURLs(DirectoryClassPath.scala:204)[error] at scala.tools.nsc.classpath.AggregateClassPath.$anonfun$asURLs$1(AggregateClassPath.scala:55)[error] at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240)[error] at scala.collection.Iterator.foreach(Iterator.scala:937)[error] at scala.collection.Iterator.foreach$(Iterator.scala:937)[error] at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)[error] at scala.collection.IterableLike.foreach(IterableLike.scala:70)[error] at scala.collection.IterableLike.foreach$(IterableLike.scala:69)[error] at scala.collection.AbstractIterable.foreach(Iterable.scala:54)[error] at scala.collection.TraversableLike.flatMap(TraversableLike.scala:240)[error] at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237)[error] at scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)[error] at scala.tools.nsc.classpath.AggregateClassPath.asURLs(AggregateClassPath.scala:55)[error] at scala.tools.nsc.typechecker.Macros.findMacroClassLoader(Macros.scala:66)[error] at scala.tools.nsc.typechecker.Macros.findMacroClassLoader$(Macros.scala:65)[error] at scala.tools.nsc.Global$$anon$1.findMacroClassLoader(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes.$anonfun$defaultMacroClassloaderCache$2(MacroRuntimes.scala:56)[error] at scala.reflect.internal.SymbolTable$perRunCaches$$anon$1.apply(SymbolTable.scala:457)[error] at scala.reflect.macros.runtime.MacroRuntimes.defaultMacroClassloader(MacroRuntimes.scala:58)[error] at scala.reflect.macros.runtime.MacroRuntimes.defaultMacroClassloader$(MacroRuntimes.scala:58)[error] at scala.tools.nsc.Global$$anon$1.defaultMacroClassloader(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes$MacroRuntimeResolver.resolveRuntime(MacroRuntimes.scala:76)[error] at scala.reflect.macros.runtime.MacroRuntimes.$anonfun$standardMacroRuntime$3(MacroRuntimes.scala:38)[error] at scala.collection.mutable.MapLike.getOrElseUpdate(MapLike.scala:206)[error] at scala.collection.mutable.MapLike.getOrElseUpdate$(MapLike.scala:203)[error] at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:80)[error] at scala.reflect.macros.runtime.MacroRuntimes.standardMacroRuntime(MacroRuntimes.scala:38)[error] at scala.reflect.macros.runtime.MacroRuntimes.standardMacroRuntime$(MacroRuntimes.scala:31)[error] at scala.tools.nsc.Global$$anon$1.standardMacroRuntime(Global.scala:469)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$14.default(AnalyzerPlugins.scala:448)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$14.default(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroRuntime(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroRuntime$(AnalyzerPlugins.scala:445)[error] at scala.tools.nsc.Global$$anon$1.pluginsMacroRuntime(Global.scala:469)[error] at scala.reflect.macros.runtime.MacroRuntimes.macroRuntime(MacroRuntimes.scala:25)[error] at scala.reflect.macros.runtime.MacroRuntimes.macroRuntime$(MacroRuntimes.scala:25)[error] at scala.tools.nsc.Global$$anon$1.macroRuntime(Global.scala:469)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.$anonfun$expand$1(Macros.scala:619)[error] at scala.tools.nsc.Global.withInfoLevel(Global.scala:219)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.expand(Macros.scala:613)[error] at scala.tools.nsc.typechecker.Macros$MacroExpander.apply(Macros.scala:600)[error] at scala.tools.nsc.typechecker.Macros.standardMacroExpand(Macros.scala:764)[error] at scala.tools.nsc.typechecker.Macros.standardMacroExpand$(Macros.scala:762)[error] at scala.tools.nsc.Global$$anon$1.standardMacroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:432)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins$$anon$12.default(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.invoke(AnalyzerPlugins.scala:401)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.typechecker.AnalyzerPlugins.pluginsMacroExpand$(AnalyzerPlugins.scala:429)[error] at scala.tools.nsc.Global$$anon$1.pluginsMacroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.Macros.macroExpand(Macros.scala:757)[error] at scala.tools.nsc.typechecker.Macros.macroExpand$(Macros.scala:757)[error] at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:469)[error] at scala.tools.nsc.typechecker.Typers$Typer.vanillaAdapt$1(Typers.scala:1163)[error] at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1223)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5631)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$adapt$1(Typers.scala:881)[error] at scala.tools.nsc.typechecker.Typers$Typer.adaptToImplicitMethod$1(Typers.scala:471)[error] at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1219)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5631)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3280)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:471)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedArgToPoly$1(Typers.scala:3670)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$33(Typers.scala:3678)[error] at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3678)[error] at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3689)[error] at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4767)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4776)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5571)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedIf$1(Typers.scala:5692)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5547)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5581)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:5833)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5536)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5681)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1999)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1868)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5538)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5681)[error] at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3264)[error] at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5247)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5540)[error] at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5617)[error] at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:106)[error] at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:441)[error] at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:96)[error] at sbt.compiler.Eval.$anonfun$compileAndLoad$1(Eval.scala:248)[error] at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)[error] at scala.reflect.internal.SymbolTable.enteringPhase(SymbolTable.scala:282)[error] at sbt.compiler.Eval.compile$1(Eval.scala:248)[error] at sbt.compiler.Eval.compileAndLoad(Eval.scala:253)[error] at sbt.compiler.Eval.evalCommon(Eval.scala:218)[error] at sbt.compiler.Eval.eval(Eval.scala:128)[error] at sbt.internal.EvaluateConfigurations$.evaluateDslEntry(EvaluateConfigurations.scala:239)[error] at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$2(EvaluateConfigurations.scala:158)[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)[error] at scala.collection.immutable.List.foreach(List.scala:388)[error] at scala.collection.TraversableLike.map(TraversableLike.scala:233)[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226)[error] at scala.collection.immutable.List.map(List.scala:294)[error] at sbt.internal.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:156)[error] at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1136)[error] at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1144)[error] at scala.collection.MapLike.getOrElse(MapLike.scala:127)[error] at scala.collection.MapLike.getOrElse$(MapLike.scala:125)[error] at scala.collection.AbstractMap.getOrElse(Map.scala:59)[error] at sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1143)[error] at sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1151)[error] at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233)[error] at scala.collection.immutable.List.foreach(List.scala:388)[error] at scala.collection.TraversableLike.map(TraversableLike.scala:233)[error] at scala.collection.TraversableLike.map$(TraversableLike.scala:226)[error] at scala.collection.immutable.List.map(List.scala:294)[error] at sbt.internal.Load$.loadFiles$1(Load.scala:1151)[error] at sbt.internal.Load$.discoverProjects(Load.scala:1165)[error] at sbt.internal.Load$.discover$1(Load.scala:862)[error] at sbt.internal.Load$.loadTransitive(Load.scala:937)[error] at sbt.internal.Load$.loadProjects$1(Load.scala:726)[error] at sbt.internal.Load$.$anonfun$loadUnit$11(Load.scala:729)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:729)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.loadUnit(Load.scala:688)[error] at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:484)[error] at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:176)[error] at sbt.internal.BuildLoader.apply(BuildLoader.scala:241)[error] at sbt.internal.Load$.loadURI$1(Load.scala:546)[error] at sbt.internal.Load$.loadAll(Load.scala:562)[error] at sbt.internal.Load$.loadURI(Load.scala:492)[error] at sbt.internal.Load$.load(Load.scala:471)[error] at sbt.internal.Load$.$anonfun$apply$1(Load.scala:251)[error] at sbt.internal.Load$.timed(Load.scala:1395)[error] at sbt.internal.Load$.apply(Load.scala:251)[error] at sbt.internal.GlobalPlugin$.build(GlobalPlugin.scala:59)[error] at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)[error] at sbt.io.Using.apply(Using.scala:22)[error] at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)[error] at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)[error] at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)[error] at sbt.MainLoop$.runLogged(MainLoop.scala:35)[error] at sbt.StandardMain$.runManaged(Main.scala:138)[error] at sbt.xMain.run(Main.scala:89)[error] at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)[error] at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)[error] at xsbt.boot.Launch$.run(Launch.scala:149)[error] at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)[error] at xsbt.boot.Launch$.launch(Launch.scala:159)[error] at xsbt.boot.Launch$.apply(Launch.scala:44)[error] at xsbt.boot.Launch$.apply(Launch.scala:21)[error] at xsbt.boot.Boot$.runImpl(Boot.scala:78)[error] at xsbt.boot.Boot$.run(Boot.scala:73)[error] at xsbt.boot.Boot$.main(Boot.scala:21)[error] at xsbt.boot.Boot.main(Boot.scala)
after made changes to sbt version and Scala version, the compile error is gone.
in build.properties, to define sbt.version = 1.6.0, and in build.sbt, to define scalaVersion := "2.12.15"
2. SBT Test error
apart from the compile error, you may encounter the following error when you run the test, by sbt test.
[error] java.io.IOException: Error while instrumenting Group.class.[error] at org.jacoco.core.instr.Instrumenter.instrumentError(Instrumenter.java:159)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:109)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at resource.AbstractManagedResource.foreach(AbstractManagedResource.scala:50)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9(InstrumentationUtils.scala:61)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9$adapted(InstrumentationUtils.scala:60)[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.instrumentClasses(InstrumentationUtils.scala:60)[error] at com.github.sbt.jacoco.BaseJacocoPlugin.$anonfun$taskValues$9(BaseJacocoPlugin.scala:105)[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:195)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:176)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:162)[error] at org.jacoco.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:75)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:107)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at resource.AbstractManagedResource.foreach(AbstractManagedResource.scala:50)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9(InstrumentationUtils.scala:61)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9$adapted(InstrumentationUtils.scala:60)[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.instrumentClasses(InstrumentationUtils.scala:60)[error] at com.github.sbt.jacoco.BaseJacocoPlugin.$anonfun$taskValues$9(BaseJacocoPlugin.scala:105)[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] java.io.IOException: Error while instrumenting <xxx>.class.[error] at org.jacoco.core.instr.Instrumenter.instrumentError(Instrumenter.java:159)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:109)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at resource.AbstractManagedResource.foreach(AbstractManagedResource.scala:50)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9(InstrumentationUtils.scala:61)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9$adapted(InstrumentationUtils.scala:60)[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.instrumentClasses(InstrumentationUtils.scala:60)[error] at com.github.sbt.jacoco.BaseJacocoPlugin.$anonfun$taskValues$9(BaseJacocoPlugin.scala:105)[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:195)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:176)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:162)[error] at org.jacoco.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:75)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:107)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at resource.AbstractManagedResource.foreach(AbstractManagedResource.scala:50)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9(InstrumentationUtils.scala:61)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9$adapted(InstrumentationUtils.scala:60)[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.instrumentClasses(InstrumentationUtils.scala:60)[error] at com.github.sbt.jacoco.BaseJacocoPlugin.$anonfun$taskValues$9(BaseJacocoPlugin.scala:105)[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] java.io.IOException: Error while instrumenting <xxx>.class.[error] at org.jacoco.core.instr.Instrumenter.instrumentError(Instrumenter.java:159)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:109)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at resource.AbstractManagedResource.foreach(AbstractManagedResource.scala:50)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9(InstrumentationUtils.scala:61)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$9$adapted(InstrumentationUtils.scala:60)[error] at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)[error] at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)[error] at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.instrumentClasses(InstrumentationUtils.scala:60)[error] at com.github.sbt.jacoco.BaseJacocoPlugin.$anonfun$taskValues$9(BaseJacocoPlugin.scala:105)[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:195)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:176)[error] at org.objectweb.asm.ClassReader.<init>(ClassReader.java:162)[error] at org.jacoco.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:75)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:107)[error] at org.jacoco.core.instr.Instrumenter.instrument(Instrumenter.java:134)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11(InstrumentationUtils.scala:64)[error] at com.github.sbt.jacoco.data.InstrumentationUtils$.$anonfun$instrumentClasses$11$adapted(InstrumentationUtils.scala:61)[error] at resource.AbstractManagedResource.$anonfun$acquireFor$1(AbstractManagedResource.scala:88)[error] at scala.util.control.Exception$Catch.$anonfun$either$1(Exception.scala:252)[error] at scala.util.control.Exception$Catch.apply(Exception.scala:228)[error] at scala.util.control.Exception$Catch.either(Exception.scala:252)[error] at resource.AbstractManagedResource.acquireFor(AbstractManagedResource.scala:88)[error] at resource.ManagedResourceOperations.apply(ManagedResourceOperations.scala:26)[error] at resource.ManagedResourceOperations.apply$(ManagedResourceOperations.scala:26)[error] at resource.AbstractManagedResource.apply(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.acquireAndGet(ManagedResourceOperations.scala:25)[error] at resource.ManagedResourceOperations.acquireAndGet$(ManagedResourceOperations.scala:25)[error] at resource.AbstractManagedResource.acquireAndGet(AbstractManagedResource.scala:50)[error] at resource.ManagedResourceOperations.foreach(ManagedResourceOperations.scala:53)[error] at resource.ManagedResourceOperations.foreach$(ManagedResourceOperations.scala:53)[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)[error] at sbt.Execute.work(Execute.scala:292)[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)[error] at java.base/java.lang.Thread.run(Thread.java:840)[error] (datatransmitter / Test / fullClasspath) java.io.IOException: Error while instrumenting Group.class.[error] (base / Test / fullClasspath) java.io.IOException: Error while instrumenting xxx.class.[error] (udfexpression / Test / fullClasspath) java.io.IOException: Error while instrumenting xxx.class.
To fix the error, you need to change the jacocoVersion to 0.8.11 to support JDK 17 in plugins.sbt.
val jacocoVersion = "0.8.11"dependencyOverrides ++= Seq("org.jacoco" % "org.jacoco.core" % jacocoVersion,"org.jacoco" % "org.jacoco.report" % jacocoVersion,"org.jacoco" % "org.jacoco.agent" % jacocoVersion)