2
我必須在Play Framework應用程序中使用scala分析器。Play Framework和scala.tools.nsc
import scala.tools.nsc._
trait Foo
class Parser {
def parse(code: String) = {
val settings = new Settings
settings.embeddedDefaults[Foo]
val interpreter = new Interpreter(settings)
interpreter.parse(code)
}
}
我在Build.scala
"org.scala-lang" % "scala-compiler" % "2.9.1"
使用SBT構建時,此代碼以下的依賴。在播放它結束與NullPointerException和:
未能初始化編譯器:找不到對象scala。
**請注意,2.8 scala並不假定使用java classpath。
**對於舊的行爲通過-usejavacp到階,或者如果使用一個設置
**對象編程,settings.usejavacp.value =真。
上embeddedDefaults
Build.scala
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "com.qwerty.utils"
val appVersion = "1.0-SNAPSHOT"
val scalaVersion = "2.9.1"
val appDependencies = Seq(
"org.scala-lang" % "scala-compiler" % "2.9.1"
)
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
// Add your own project settings here
)
}
您是否將其標記爲庫依賴項或生成級依賴項?無論如何,你可能想要將你的Build.scala文件添加到問題中。 –
您在哪一行獲得NPE? – opyate
另外,你是如何運行你的應用程序? – opyate