my scala program is using the compiler interface from scala.tools.nsc.interpreter.IMain. When I am compiling with scalac, everything works as expected. But when I compile with sbt it still compiles, but on execution it throws the following error message in the call of the interpret-method from the IMain instance:
Failed to initialize compiler: object scala not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.
If I use settings.usejavacp.value = true on the IMain instance, I get the following exception:
java.lang.Error: typeConstructor inapplicable for <none>
My SBT project definition:
class Project(info: ProjectInfo) extends DefaultProject(info){
val scalaSwing = "org.scala-lang" % "scala-swing" % "2.9.0"
val scalaCompiler = "org.scala-lang" % "scala-compiler" % "2.9.0"
}
What's wrong here? And how can I use the interpreter in a Simple Build Tool Project?
I'm using Scala 2.9.0 and Simple Build Tool 0.7.7
sbt console // Starts a Scala interpreter
Here is the new FAQ (the previous answer is obsolete)
http://www.scala-sbt.org/0.12.4/docs/faq.html
You can find also the FAQ for more recent versions.
Note that sbt console-quick
loads the console without the dependencies.