:javap -p <classname>返回IlegalArgumentException

时间:2017-07-01 20:22:36

标签: scala

在Scala REPL中获得以下错误

scala> :javap -p Add
java.lang.IllegalArgumentException: requirement failed
        at scala.Predef$.require(Predef.scala:264)
        at scala.tools.nsc.interpreter.JavapClass$JavapTool$.apply(JavapClass.scala:337)
        at scala.tools.nsc.interpreter.JavapClass.tool$lzycompute(JavapClass.scala:37)
        at scala.tools.nsc.interpreter.JavapClass.tool(JavapClass.scala:37)
        at scala.tools.nsc.interpreter.JavapClass.apply(JavapClass.scala:49)
        at scala.tools.nsc.interpreter.ILoop.javapCommand(ILoop.scala:332)
        at scala.tools.nsc.interpreter.ILoop.$anonfun$standardCommands$6(ILoop.scala:187)
        at scala.tools.nsc.interpreter.LoopCommands$LineCmd.apply(LoopCommands.scala:132)
        at scala.tools.nsc.interpreter.LoopCommands.colonCommand(LoopCommands.scala:103)
        at scala.tools.nsc.interpreter.LoopCommands.colonCommand$(LoopCommands.scala:101)
        at scala.tools.nsc.interpreter.ILoop.colonCommand(ILoop.scala:44)
        at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:696)
        at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:416)
        at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:437)
        at scala.tools.nsc.interpreter.ILoop.$anonfun$process$1(ILoop.scala:1012)
        at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909)
        at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:75)
        at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:88)
        at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:99)
        at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:104)
        at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

That entry seems to have slain the compiler.  Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session.

请分享是否有人遇到此问题&amp;能够解决。以下是版本信息。提前谢谢!

C:\Users\email>scala -version
Scala code runner version 2.12.2 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.

C:\Users\email>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

1 个答案:

答案 0 :(得分:1)

答案是Why does installing Scala require additionally installing JDK?

也许您只是安装了Jre而不是JDK。

要解决此问题,请安装相应的JDK版本。

Scala REPL中的

:javap命令通过javap [ver2.13.1]调用JAVA SDK安装的java.util.spi.ToolProvider工具。 Jre不包括诸如javap, jdb, jar之类的JDK工具。