我有scala.tools.sbt问题斯卡拉SBT:scala.tools.nsc没有运行
斯卡拉文件
在这里,我使用的解析器功能,使抽象语法树代码2 + 3
import scala.tools.nsc._
object Main extends App {
var i = new Interpreter
println(i.parse("2 + 3"))
}
SBT配置
name := "scalaSample"
version := "1.0-SNAPSHOT"
scalaVersion := "2.9.1"
libraryDependencies += "org.scalatest" %% "scalatest" % "1.7.1" % "test"
libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.9.1"
错误
无法初始化编译:找不到对象阶。 **请注意,截至2.8 scala并不假定使用java classpath。 **对于旧行为将-usejavacp传递给scala,或者如果以编程方式使用设置 **对象,则settings.usejavacp.value = true。
[error](run-main)java.lang.NullPointerException java.lang.NullPointerException at scala.tools.nsc.CompilationUnits $ CompilationUnit。 (CompilationUnits.scala:16)在 scala.tools.nsc.interpreter.ExprTyper $ $ codeParser .applyRule(ExprTyper.scala:22) 在 scala.tools.nsc.interpreter.ExprTyper $ $ codeParser .stmts(ExprTyper .scala:36) 在 scala.tools.nsc.interpreter.ExprTyper $$ anonfun $ $解析2.适用(ExprTyper.scala:47) 在 scala.tools.nsc.interpreter.ExprTyper $$ anonfun $ $解析2 。适用(ExprTyper.scala:46) 在 scala.tools.nsc.reporters.Reporter.withIncompleteHandler(Reporter.scala:46) 在 scala.tools.nsc.interpreter.ExprTyper $ class.parse(ExprTyper.scala :46) at scala.tools.nsc.interpreter.IMain $ exprTyper $ .parse(IMain.scala:1012) at scala.tools.nsc.interpreter.IMain.parse(IMain.scala:1013)at eu.semantiq.scalaToJS.Main $ delayedInit $ body.apply(Main。 Scala:7)at scala.Function0 $ class.apply $ mcV $ sp(Function0.scala:34)at scala.runtime.AbstractFunction0.apply $ mcV $ sp(AbstractFunction0.scala:12) at scala.App $ $ anonfun $ main $ 1.apply(App.scala:60)at scala.App $$ anonfun $ main $ 1.apply(App.scala:60)at scala.collection.LinearSeqOptimized $ class.foreach(LinearSeqOptimized.scala: 59) at scala.collection.immutable.List.foreach(List.scala:45)at scala.collection.generic.TraversableForwarder $ class.foreach(TraversableForwarder.scala:30) at scala.App $ class.main( App.scala:60)在 eu.semantiq.scalaToJS.Main $。主要(Main.scala:5)在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) eu.semantiq.scalaToJS.Main.main(Main.scala)在 太阳.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:616) 的java .lang.RuntimeException:非零退出代码:1 at scala.sys.package $ .error(package。斯卡拉:27)
斯卡拉REPL一切正常
欢迎斯卡拉版本2.9.0.1(OpenJDK的64位服务器虚拟机,Java的 1.6.0_23)。键入表达式以评估它们。请输入:help获取更多信息。
阶>进口scala.tools.nsc._
进口scala.tools.nsc._
阶>变种I =新解释
警告:有4个弃用 警告;重新运行,弃用详情警告:有1 弃用警告;与-deprecation重新运行细节
I:scala.tools.nsc.Interpreter = [email protected]
阶>的println(i.parse( “2 + 3”) )
一些(表(2 $加(3)))
我觉得真的是我的英语不好