I have this error while trying to instantiate an object of type Global in Scala 2.12.19 with JDK 17.
object java.lang.Object in compiler mirror not found
It used to work with Scala 2.12.6 and JDK 8.
I tried to solve the error by adding settings but that didn’t help :
compilerSettings.processArgumentString(“–release:17 --target:17”)
The full stack trace is :
scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.
at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:24)
at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:25)
at scala.reflect.internal.Mirrors$RootsBase.$anonfun$getModuleOrClass$5(Mirrors.scala:61)
at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:61)
at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:51)
at scala.reflect.internal.Mirrors$RootsBase.getRequiredClass(Mirrors.scala:51)
at scala.reflect.internal.Definitions$DefinitionsClass.ObjectClass$lzycompute(Definitions.scala:301)
at scala.reflect.internal.Definitions$DefinitionsClass.ObjectClass(Definitions.scala:301)
at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1511)
at scala.tools.nsc.Global$Run.(Global.scala:1225)
at scala.tools.nsc.interactive.Global$TyperRun.(Global.scala:1323)
at scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1346)
at scala.tools.nsc.interactive.Global.(Global.scala:294)
at org.scalaide.core.internal.compiler.ScalaPresentationCompiler.(ScalaPresentationCompiler.scala:55)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.liftedTree1$1(PresentationCompilerProxy.scala:156)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.create(PresentationCompilerProxy.scala:153)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.initialize(PresentationCompilerProxy.scala:118)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.obtainPc$1(PresentationCompilerProxy.scala:80)
at org.scalaide.core.internal.compiler.PresentationCompilerProxy.internal(PresentationCompilerProxy.scala:100)
at org.scalaide.core.internal.jdt.model.ScalaCompilationUnit.addToIndexer(ScalaCompilationUnit.scala:158)
at org.scalaide.core.internal.jdt.model.ScalaCompilationUnit.addToIndexer$(ScalaCompilationUnit.scala:156)
at org.scalaide.core.internal.jdt.model.ScalaSourceFile.addToIndexer(ScalaSourceFile.scala:70)
at org.scalaide.core.internal.jdt.search.ScalaSourceIndexer.$anonfun$indexDocument$2(ScalaSourceIndexer.scala:16)
at org.scalaide.core.internal.jdt.search.ScalaSourceIndexer.$anonfun$indexDocument$2$adapted(ScalaSourceIndexer.scala:16)
at scala.Option.map(Option.scala:230)
at org.scalaide.core.internal.jdt.search.ScalaSourceIndexer.indexDocument(ScalaSourceIndexer.scala:16)
at scala.tools.eclipse.contribution.weaving.jdt.indexerprovider.IndexerProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_indexerprovider_IndexerProviderAspect$1$16276a3c(IndexerProviderAspect.aj:30)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:77)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:674)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager$2.execute(IndexManager.java:1286)
at org.eclipse.jdt.internal.core.search.processing.JobManager.indexerLoop(JobManager.java:542)
at java.base/java.lang.Thread.run(Thread.java:833)
The instantiation of the ScalaPresentationCompiler which extends Global is here: