Different errors during 'sbt' and 'sbt run' in scalafx-ensemble

556 views Asked by At

I downloaded the scalafx-ensemble project. When I run sbt in the project's folder I'm facing the following error:

[info] Set current project to scalafxEnsemble (in build file:/C:/dev/sample/scalafx-ensemble-master/)
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at jline.TerminalFactory.create(TerminalFactory.java:101)
    at jline.TerminalFactory.get(TerminalFactory.java:159)
    at sbt.JLine$.sbt$JLine$$terminal(LineReader.scala:87)
    at sbt.JLine$.withTerminal(LineReader.scala:91)
    at sbt.JLine$.usingTerminal(LineReader.scala:97)
    at sbt.JLine$.createReader(LineReader.scala:103)
    at sbt.FullReader.<init>(LineReader.scala:135)
    at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:149)
    ...
    java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:98)
    at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:97)
    at sbt.JLine$.withTerminal(LineReader.scala:92)
    at sbt.JLine$.usingTerminal(LineReader.scala:97)
    at sbt.JLine$.createReader(LineReader.scala:103)
    at sbt.FullReader.<init>(LineReader.scala:135)
    at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:149)
    at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:146)
    at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:31)
    at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:31)
    at sbt.Command$.process(Command.scala:95)
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100)
    ...
[error] java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
[error] Use 'last' for the full log.

If I run sbt run I'm getting the following:

    at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3193)
    at scala.tools.nsc.typechecker.Typers$Typer.handleOverloaded$1(Typers.scala:3190)
    at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3193)
    at scala.tools.nsc.typechecker.Typers$Typer.handleOverloaded$1(Typers.scala:3190)
[error] (compile:compile) java.lang.StackOverflowError
[error] Total time: 9 s, completed Jan 6, 2014 4:47:49 PM

What am I doing wrong?

2

There are 2 answers

2
Jarek On BEST ANSWER

This is likely problem with outdated SBT launcher. Make sure that your SBT is v.0.13 or newer.

4
falcon On

I fixed the path to jfxrt.jar in build.sbt from

System.getenv("JAVA_HOME") + "jre/lib/jfxrt.jar"

to

System.getenv("JAVA_HOME") + "/lib/jfxrt.jar"

which is correct for my system. With the change, sbt run works fine.