I got a good punch when trying Hello World in Scala (object java.lang.Object in compiler mirror not found.)

TL;DR

The average salary of Scala ~~ was so high that I was interested in ~~, so I decided to try it, so I decided to make a project for Hello World in my spare time.

Average annual income ranking by language

Well, I'm doing installation system in various places, so it's better now.

There should be no problem if you use the most popular framework.

playframework

Well, right away.

console


$ activator new my-first-app play-scala

Completed without any problems (I feel like WARNING was out ...)

console


$ cd my-first-app/
$ activator
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by activator.ActivatorProxyAuthenticator$ (file:/Users/(username)/.sbt/boot/scala-2.11.8/com.typesafe.activator/activator-launcher/1.3.12/activator-launcher-1.3.12.jar) to field java.net.Authenticator.theAuthenticator
WARNING: Please consider reporting this to the maintainers of activator.ActivatorProxyAuthenticator$
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
error: error while loading package, Missing dependency 'object java.lang.Object in compiler mirror', required by /Users/(username)/.sbt/boot/scala-2.10.6/lib/scala-library.jar(scala/package.class)
error: error while loading package, Missing dependency 'object java.lang.Object in compiler mirror', required by /Users/(username)/.sbt/boot/scala-2.10.6/lib/scala-library.jar(scala/runtime/package.class)
scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.
	at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16)
	at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17)
	at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:48)
	at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:40)
	at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:40)
	at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:61)
	at scala.reflect.internal.Mirrors$RootsBase.getClassByName(Mirrors.scala:99)
	at scala.reflect.internal.Mirrors$RootsBase.getRequiredClass(Mirrors.scala:102)
	at scala.reflect.internal.Definitions$DefinitionsClass.ObjectClass$lzycompute(Definitions.scala:264)
	at scala.reflect.internal.Definitions$DefinitionsClass.ObjectClass(Definitions.scala:264)
	at scala.reflect.internal.Definitions$DefinitionsClass.AnyRefClass$lzycompute(Definitions.scala:263)
	at scala.reflect.internal.Definitions$DefinitionsClass.AnyRefClass(Definitions.scala:263)
	at scala.reflect.internal.Definitions$DefinitionsClass.specialPolyClass(Definitions.scala:1120)
	at scala.reflect.internal.Definitions$DefinitionsClass.RepeatedParamClass$lzycompute(Definitions.scala:407)
	at scala.reflect.internal.Definitions$DefinitionsClass.RepeatedParamClass(Definitions.scala:407)
	at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreClasses$lzycompute(Definitions.scala:1154)
	at scala.reflect.internal.Definitions$DefinitionsClass.syntheticCoreClasses(Definitions.scala:1152)
	at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode$lzycompute(Definitions.scala:1196)
	at scala.reflect.internal.Definitions$DefinitionsClass.symbolsNotPresentInBytecode(Definitions.scala:1196)
	at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1261)
	at scala.tools.nsc.Global$Run.<init>(Global.scala:1290)
	at sbt.compiler.Eval$$anon$1.<init>(Eval.scala:141)
	at sbt.compiler.Eval.run$lzycompute$1(Eval.scala:141)
	at sbt.compiler.Eval.run$1(Eval.scala:141)
	at sbt.compiler.Eval.unlinkAll$1(Eval.scala:144)
	at sbt.compiler.Eval.evalCommon(Eval.scala:153)
	at sbt.compiler.Eval.eval(Eval.scala:96)
	at sbt.EvaluateConfigurations$.evaluateDslEntry(EvaluateConfigurations.scala:177)
	at sbt.EvaluateConfigurations$$anonfun$9.apply(EvaluateConfigurations.scala:117)
	at sbt.EvaluateConfigurations$$anonfun$9.apply(EvaluateConfigurations.scala:115)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:115)
	at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:725)
	at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:731)
	at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:730)
	at scala.collection.MapLike$class.getOrElse(MapLike.scala:128)
	at scala.collection.AbstractMap.getOrElse(Map.scala:58)
	at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:730)
	at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:738)
	at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:738)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at sbt.Load$.loadFiles$1(Load.scala:738)
	at sbt.Load$.discoverProjects(Load.scala:749)
	at sbt.Load$.discover$1(Load.scala:555)
	at sbt.Load$.loadTransitive(Load.scala:584)
	at sbt.Load$.loadProjects$1(Load.scala:452)
	at sbt.Load$.loadUnit(Load.scala:456)
	at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:291)
	at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:291)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90)
	at sbt.BuildLoader.apply(BuildLoader.scala:140)
	at sbt.Load$.loadAll(Load.scala:344)
	at sbt.Load$.loadURI(Load.scala:299)
	at sbt.Load$.load(Load.scala:295)
	at sbt.Load$.load(Load.scala:286)
	at sbt.Load$.apply(Load.scala:140)
	at sbt.Load$.buildPluginDefinition(Load.scala:836)
	at sbt.Load$.buildPlugins(Load.scala:802)
	at sbt.Load$.plugins(Load.scala:790)
	at sbt.Load$.loadUnit(Load.scala:441)
	at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:291)
	at sbt.Load$$anonfun$18$$anonfun$apply$11.apply(Load.scala:291)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90)
	at sbt.BuildLoader.apply(BuildLoader.scala:140)
	at sbt.Load$.loadAll(Load.scala:344)
	at sbt.Load$.loadURI(Load.scala:299)
	at sbt.Load$.load(Load.scala:295)
	at sbt.Load$.load(Load.scala:286)
	at sbt.Load$.apply(Load.scala:140)
	at sbt.Load$.defaultLoad(Load.scala:36)
	at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:492)
	at sbt.BuiltinCommands$.doLoadProject(Main.scala:492)
	at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484)
	at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484)
	at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
	at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
	at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
	at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
	at sbt.Command$.process(Command.scala:93)
	at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
	at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
	at sbt.State$$anon$1.process(State.scala:184)
	at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
	at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.MainLoop$.next(MainLoop.scala:96)
	at sbt.MainLoop$.run(MainLoop.scala:89)
	at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:68)
	at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:63)
	at sbt.Using.apply(Using.scala:24)
	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:63)
	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:46)
	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:30)
	at sbt.MainLoop$.runLogged(MainLoop.scala:22)
	at sbt.StandardMain$.runManaged(Main.scala:54)
	at sbt.xMain.run(Main.scala:29)
	at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
	at xsbt.boot.Launch$.run(Launch.scala:109)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
	at xsbt.boot.Launch$.launch(Launch.scala:117)
	at xsbt.boot.Launch$.apply(Launch.scala:18)
	at xsbt.boot.Boot$.runImpl(Boot.scala:41)
	at xsbt.boot.Boot$.main(Boot.scala:17)
	at xsbt.boot.Boot.main(Boot.scala)
[error] scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q

** I didn't write that it would come out like this? ** **

It seems that the installed java (java10) is not the problem () When I googled with an error, it was hard to find because only the articles where the java.lang.Object part became scala came to the top. (Failed to initialize compiler: object java.lang.Object in compiler mirror not found ) So, if it is java8, there should be no problem, so install it.

console


$ brew cask install caskroom/versions/java8

Entered java8! So, switch immediately.

console


$ vi ~/.bashrc

.bashrc


export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v “1.8”`
PATH=$JAVA_HOME/bin:$PATH

console


$ source ~/.bashrc

$ activator run
...
...
(Server started, use Ctrl+D to stop and go back to the console...)
スクリーンショット 2018-04-19 15.08.43.png

You did it. I had a great sense of accomplishment (I'm throwing something that seems to be the cause, but I was worried about 2 hours), but I came to write hello world, so I'll write it.

routes


GET			/hello									controllers.GreetController.index

GreetController.scala


package controllers

import javax.inject._
import play.api._
import play.api.mvc._

@Singleton
class GreetController @Inject() extends Controller {

  def index = Action {
    Ok("Hello world")
  }
}

Access [localhost: 9000 / hello](localhost: 9000 / hello).

スクリーンショット 2018-04-19 14.57.48.png

Chissa www

environment

· Mac OS X EL Capitan 10.11.6 ・ Play 2.5.10

console


$ scala -version
Scala code runner version 2.12.5 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.

$ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

reference

playframework Actions, Controllers and Results

Postscript [2018/09/12]

I added a title because it can not be used unless it is caught by the error content.

Recommended Posts

I got a good punch when trying Hello World in Scala (object java.lang.Object in compiler mirror not found.)
I got an error when trying to install sbt to build a Scala development environment
I got a Permission Denied error when I put Laravel in Docker
I got stuck trying to write a where in clause in ActiveRecord
"Teacher, I want to implement a login function in Spring" ① Hello World
In WSL2, when I did `docker-compose up`, I got an error saying that the sh file was not found.