scalafx-ensemble中'sbt'和'sbt run'期间的不同错误

时间:2014-01-06 14:58:44

标签: sbt scalafx

我下载了scalafx-ensemble项目。当我在项目文件夹中运行sbt时,我遇到以下错误:

[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.

如果我运行sbt run,我会收到以下信息:

    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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

这可能是过时的SBT发射器的问题。确保您的SBT是v.0.13或更新版本。

答案 1 :(得分:0)

我将jfxrt.jarbuild.sbt的路径修改为

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

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

这对我的系统来说是正确的。通过更改,sbt run可以正常工作。