Scala: java.lang.NoClassDefFoundError: Could not initialize class sbt.internal.parser.SbtParser
Asked Answered
S

4

6

I'm unable to use sbt or run tests from within IntelliJ on an existing Scala project. My setup seems basic.

% brew install coursier/formulas/coursier && cs setup
% cs setup
Checking if a JVM is installed
Found a JVM installed under /opt/homebrew/Cellar/openjdk/21/libexec/openjdk.jdk/Contents/Home.

Checking if ~/Library/Application Support/Coursier/bin is in PATH

Checking if the standard Scala applications are installed
  Found ammonite
  Found cs
  Found coursier
  Found scala
  Found scalac
  Found scala-cli
  Found sbt
  Found sbtn
  Found scalafmt

% scala -version
Scala code runner version 3.3.1 -- Copyright 2002-2023, LAMP/EPFL

% java -version
openjdk version "21" 2023-09-19
OpenJDK Runtime Environment Homebrew (build 21)
OpenJDK 64-Bit Server VM Homebrew (build 21, mixed mode, sharing)

There's a lot going on in build.sbt so here are some highlights:

enablePlugins(JavaAppPackaging, ScoverageSbtPlugin)

lazy val root = (project in file(".")).settings(
  inThisBuild(
    List(
      scalaVersion := "2.13.10"
    )
  ),
  ...

scalacOptions ++= Seq(
  "-feature",
  "-language:postfixOps",
  "-language:implicitConversions",
  "-release:17",
  "-unchecked",
  "-Wconf:cat=other-match-analysis:error"
)

javacOptions ++= Seq("-source", "17", "-target", "17")

Just running sbt results in a long and somewhat incomprehensible set of compiler errors.

% sbt
error:
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.16
    compiler version: version 2.12.16
  reconstructed args: -classpath /Users/macdoogie/.sbt/boot/scala-2.12.16/lib/scala-library.jar -Yrangepos

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

This produces a lot more output but this seems interesting: [error] java.lang.NoClassDefFoundError: Could not initialize class sbt.internal.parser.SbtParser

I also tried just running things from intellij, and I consistently get this error:

scalac: Error while emitting dev/macdoogie/StartApp$
Unsupported class file major version 64

I also tried

% rm -rf ~/.sbt
% rm -rf ~/.ivy2
% rm -rf ~/.ivy
Sequela answered 22/9, 2023 at 20:27 Comment(3)
Sounds like you have a mix of scala versions. In the shell you get 3.3.1, in your build.sbt says 2.13.10 and in the output of sbt says 2.12.16. The scalac error saying there is an issue with major version 64 is saying that the class is compiled to some jdk version but you are using another one.Jecoa
Thanks! The only fix for me was to install a different version of Java (Java 17). I used jenv to switch between java versions btw.Sequela
That's awesome. If you have some time, please detail what were the steps you followed to solve the issueJecoa
B
7

To reproduce this error you don't even need a sbt project.

A simple empty directory where You have cd'ed into is enough.

The more significant part in my eyes in the console log output is

...
bad constant pool index: 0 at pos: 48445
...

in my case, sbt cannot be run, even in a blank test directory, since upgrade to jvm-21

so to work-around in the meantime it can help to

$ sudo archlinux-java set java-17-openjdk

If IntelliJ is used, don't forget to check Project settings, Platform Settings, SDKs:

There I had to remove manually:

/usr/lib/jvm/java-20-openjdk   

I am using Manjaro XFCE - ArchLinux, sbt 1.8.2

It would be interesting where else the combination of jvm-21 and sbt 1.8.2 currently leads to this sbt boot problem ... bad constant pool index: 0 at pos: 48445 ...

$ sbt clean
[info] welcome to sbt 1.8.2 (N/A Java 21)
error:
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.17
    compiler version: version 2.12.17
  reconstructed args: -classpath /home/hape/.sbt/boot/scala-2.12.17/lib/scala-library.jar -Yrangepos

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

error:
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.17
    compiler version: version 2.12.17
  reconstructed args: -classpath /home/hape/.sbt/boot/scala-2.12.17/lib/scala-library.jar -Yrangepos

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

Exception in thread "sbt-parser-init-thread" java.lang.ExceptionInInitializerError
        at sbt.internal.parser.SbtParserInit$$anon$2.run(SbtParser.scala:191)
Caused by: scala.reflect.internal.FatalError: 
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.17
    compiler version: version 2.12.17
  reconstructed args: -classpath /home/hape/.sbt/boot/scala-2.12.17/lib/scala-library.jar -Yrangepos

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==


        at scala.reflect.internal.Reporting.abort(Reporting.scala:69)
        at scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
        at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
        at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:385)
        at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:249)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:828)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:834)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$7(ClassfileParser.scala:908)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:908)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:611)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseClass$4(ClassfileParser.scala:534)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:534)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:160)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:146)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:129)
        at scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:343)
        at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:250)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1542)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1514)
        at scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:49)
        at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1134)
        at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1134)
        at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1438)
        at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1420)
        at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1450)
        at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1450)
        at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1506)
        at scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
        at sbt.internal.parser.SbtParser$.<init>(SbtParser.scala:141)
        at sbt.internal.parser.SbtParser$.<clinit>(SbtParser.scala)
        ... 1 more
java.lang.NoClassDefFoundError: Could not initialize class sbt.internal.parser.SbtParser$
        at sbt.internal.parser.SbtParser.splitExpressions(SbtParser.scala:247)
        at sbt.internal.parser.SbtParser.<init>(SbtParser.scala:236)
        at sbt.internal.EvaluateConfigurations$.splitExpressions(EvaluateConfigurations.scala:289)
        at sbt.internal.EvaluateConfigurations$.parseConfiguration(EvaluateConfigurations.scala:98)
        at sbt.internal.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:147)
        at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1118)
        at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1128)
        at scala.collection.MapLike.getOrElse(MapLike.scala:131)
        at scala.collection.MapLike.getOrElse$(MapLike.scala:129)
        at scala.collection.AbstractMap.getOrElse(Map.scala:65)
        at sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1127)
        at sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1135)
        at scala.collection.immutable.List.map(List.scala:293)
        at sbt.internal.Load$.loadFiles$1(Load.scala:1135)
        at sbt.internal.Load$.discoverProjects(Load.scala:1149)
        at sbt.internal.Load$.discover$1(Load.scala:901)
        at sbt.internal.Load$.loadTransitive(Load.scala:955)
        at sbt.internal.Load$.loadProjects$1(Load.scala:738)
        at sbt.internal.Load$.$anonfun$loadUnit$12(Load.scala:741)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:741)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.loadUnit(Load.scala:694)
        at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:492)
        at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
        at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
        at sbt.internal.Load$.loadURI$1(Load.scala:554)
        at sbt.internal.Load$.loadAll(Load.scala:570)
        at sbt.internal.Load$.loadURI(Load.scala:500)
        at sbt.internal.Load$.load(Load.scala:479)
        at sbt.internal.Load$.$anonfun$apply$1(Load.scala:241)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.apply(Load.scala:241)
        at sbt.internal.Load$.buildPluginDefinition(Load.scala:1323)
        at sbt.internal.Load$.buildPlugins(Load.scala:1253)
        at sbt.internal.Load$.plugins(Load.scala:1232)
        at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.loadUnit(Load.scala:694)
        at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:492)
        at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
        at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
        at sbt.internal.Load$.loadURI$1(Load.scala:554)
        at sbt.internal.Load$.loadAll(Load.scala:570)
        at sbt.internal.Load$.loadURI(Load.scala:500)
        at sbt.internal.Load$.load(Load.scala:479)
        at sbt.internal.Load$.$anonfun$apply$1(Load.scala:241)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.apply(Load.scala:241)
        at sbt.internal.Load$.buildPluginDefinition(Load.scala:1323)
        at sbt.internal.Load$.buildPlugins(Load.scala:1253)
        at sbt.internal.Load$.plugins(Load.scala:1232)
        at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.loadUnit(Load.scala:694)
        at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:492)
        at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
        at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
        at sbt.internal.Load$.loadURI$1(Load.scala:554)
        at sbt.internal.Load$.loadAll(Load.scala:570)
        at sbt.internal.Load$.loadURI(Load.scala:500)
        at sbt.internal.Load$.load(Load.scala:479)
        at sbt.internal.Load$.$anonfun$apply$1(Load.scala:241)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.apply(Load.scala:241)
        at sbt.internal.Load$.buildPluginDefinition(Load.scala:1323)
        at sbt.internal.Load$.buildPlugins(Load.scala:1253)
        at sbt.internal.Load$.plugins(Load.scala:1232)
        at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:700)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.loadUnit(Load.scala:694)
        at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:492)
        at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
        at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
        at sbt.internal.Load$.loadURI$1(Load.scala:554)
        at sbt.internal.Load$.loadAll(Load.scala:570)
        at sbt.internal.Load$.loadURI(Load.scala:500)
        at sbt.internal.Load$.load(Load.scala:479)
        at sbt.internal.Load$.$anonfun$apply$1(Load.scala:241)
        at sbt.internal.Load$.timed(Load.scala:1406)
        at sbt.internal.Load$.apply(Load.scala:241)
        at sbt.internal.Load$.defaultLoad(Load.scala:56)
        at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:961)
        at sbt.BuiltinCommands$.doLoadProject(Main.scala:961)
        at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:914)
        at sbt.Command$.$anonfun$applyEffect$4(Command.scala:150)
        at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145)
        at sbt.Command$.process(Command.scala:189)
        at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:245)
        at scala.Option.getOrElse(Option.scala:189)
        at sbt.MainLoop$.process$1(MainLoop.scala:245)
        at sbt.MainLoop$.processCommand(MainLoop.scala:278)
        at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:163)
        at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289)
        at sbt.State$StateOpsImpl$.process$extension(State.scala:325)
        at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:163)
        at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
        at sbt.MainLoop$.next(MainLoop.scala:163)
        at sbt.MainLoop$.run(MainLoop.scala:144)
        at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:119)
        at sbt.io.Using.apply(Using.scala:27)
        at sbt.MainLoop$.runWithNewLog(MainLoop.scala:112)
        at sbt.MainLoop$.runAndClearLast(MainLoop.scala:66)
        at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:51)
        at sbt.MainLoop$.runLogged(MainLoop.scala:42)
        at sbt.StandardMain$.runManaged(Main.scala:223)
        at sbt.xMain$.$anonfun$run$11(Main.scala:133)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
        at scala.Console$.withIn(Console.scala:230)
        at sbt.internal.util.Terminal$.withIn(Terminal.scala:578)
        at sbt.internal.util.Terminal$.$anonfun$withStreams$1(Terminal.scala:358)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
        at scala.Console$.withOut(Console.scala:167)
        at sbt.internal.util.Terminal$.$anonfun$withOut$2(Terminal.scala:568)
        at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
        at scala.Console$.withErr(Console.scala:196)
        at sbt.internal.util.Terminal$.withOut(Terminal.scala:568)
        at sbt.internal.util.Terminal$.withStreams(Terminal.scala:358)
        at sbt.xMain$.withStreams$1(Main.scala:87)
        at sbt.xMain$.run(Main.scala:121)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:57)
        at sbt.xMain.run(Main.scala:46)
        at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
        at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
        at xsbt.boot.Launch$.run(Launch.scala:149)
        at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
        at xsbt.boot.Launch$.launch(Launch.scala:159)
        at xsbt.boot.Launch$.apply(Launch.scala:44)
        at xsbt.boot.Launch$.apply(Launch.scala:21)
        at xsbt.boot.Boot$.runImpl(Boot.scala:78)
        at xsbt.boot.Boot$.run(Boot.scala:73)
        at xsbt.boot.Boot$.main(Boot.scala:21)
        at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.lang.ExceptionInInitializerError: Exception scala.reflect.internal.FatalError: 
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.17
    compiler version: version 2.12.17
  reconstructed args: -classpath /home/hape/.sbt/boot/scala-2.12.17/lib/scala-library.jar -Yrangepos

  last tree to typer: EmptyTree
       tree position: <unknown>
            tree tpe: <notype>
              symbol: null
           call site: <none> in <none>

== Source file context for tree position ==

 [in thread "sbt-parser-init-thread"]
        at scala.reflect.internal.Reporting.abort(Reporting.scala:69)
        at scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
        at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
        at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:385)
        at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.getExternalName(ClassfileParser.scala:249)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.readParamNames$1(ClassfileParser.scala:828)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttribute$1(ClassfileParser.scala:834)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseAttributes$7(ClassfileParser.scala:908)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseAttributes(ClassfileParser.scala:908)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseMethod(ClassfileParser.scala:611)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parseClass$4(ClassfileParser.scala:534)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parseClass(ClassfileParser.scala:534)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$2(ClassfileParser.scala:160)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.$anonfun$parse$1(ClassfileParser.scala:146)
        at scala.tools.nsc.symtab.classfile.ClassfileParser.parse(ClassfileParser.scala:129)
        at scala.tools.nsc.symtab.SymbolLoaders$ClassfileLoader.doComplete(SymbolLoaders.scala:343)
        at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:250)
        at scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1542)
        at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1514)
        at scala.reflect.internal.Definitions.scala$reflect$internal$Definitions$$enterNewMethod(Definitions.scala:49)
        at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus$lzycompute(Definitions.scala:1134)
        at scala.reflect.internal.Definitions$DefinitionsClass.String_$plus(Definitions.scala:1134)
        at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods$lzycompute(Definitions.scala:1438)
        at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreMethods(Definitions.scala:1420)
        at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1450)
        at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1450)
        at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1506)
        at scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
        at sbt.internal.parser.SbtParser$.<init>(SbtParser.scala:141)
        at sbt.internal.parser.SbtParser$.<clinit>(SbtParser.scala)
        at sbt.internal.parser.SbtParserInit$$anon$2.run(SbtParser.scala:191)
[error] java.lang.NoClassDefFoundError: Could not initialize class sbt.internal.parser.SbtParser$
[error] Use 'last' for the full log.
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
Begrime answered 29/10, 2023 at 14:50 Comment(3)
You need to use a newer version of sbt, such as 1.9.7.Soble
yes update sbt version in build.properties sbt.version=1.9.7 and run sbt update in. console it fixed the issue for me . I use jvm-21, sbt.version=1.9.7 and scala 3.3.1Czarevna
changing sbt version to 1.9.7 solved it for me. Java version 21.0.1Gabel
C
4

check sbt.version at project/build.properties in the project. maybe you can solve it by changing the sbt version to latest.

Contaminant answered 22/10, 2023 at 7:53 Comment(2)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Reprint
even without a project the error can be reproducedBegrime
M
0

In my case the problem was because I've used Java 21, and my old project (labom hello-world) requires java 11. I just changed java version in Idea, if you are using Idea sbt shell (or else you can change JAVA_HOME). After that you need to restart shell (or Idea, or terminal)

The error was almost the same:

error:
  bad constant pool index: 0 at pos: 48445
     while compiling: <no file>
        during phase: globalPhase=<no phase>, enteringPhase=<some phase>
     library version: version 2.12.15
    compiler version: version 2.12.15
    ...
    at scala.reflect.internal.Reporting.abort(Reporting.scala:69)
    at scala.reflect.internal.Reporting.abort$(Reporting.scala:65)
    at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:28)
    at scala.tools.nsc.symtab.classfile.ClassfileParser$ConstantPool.errorBadIndex(ClassfileParser.scala:386)
    ...
    java.lang.NoClassDefFoundError: Could not initialize class sbt.internal.parser.SbtParser$

Maitilde answered 11/2 at 12:12 Comment(0)
C
0

For me, changing the Incrementality type from Zinc to IDEA in the IntelliJ IDEA Scala compiler settings resolved the issue.

A screenshot of the IntelliJ IDEA settings

Colorless answered 3/7 at 12:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.