osx-lion - sierra - mountain lion version
sbt 0.13.0 JLine incompatibilidad detectada (4)
Tengo un problema al iniciar una aplicación play 2.2.0 en mi mac con mountain lion y java 7:
[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.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:85)
at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:79)
at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala)
at sbt.GlobalLogging$.initial(GlobalLogging.scala:40)
at sbt.StandardMain$.initialGlobalLogging(Main.scala:54)
at sbt.StandardMain$.initialState(Main.scala:60)
at sbt.xMain.run(Main.scala:26)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
at xsbt.boot.Launch$.run(Launch.scala:57)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
at xsbt.boot.Launch$.launch(Launch.scala:65)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Boot$.runImpl(Boot.scala:32)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
java.lang.IncompatibleClassChangeError: JLine incompatibility detected. Check that the sbt launcher is version 0.13.x or later.
at sbt.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:96)
at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:79)
at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala)
at sbt.GlobalLogging$.initial(GlobalLogging.scala:40)
at sbt.StandardMain$.initialGlobalLogging(Main.scala:54)
at sbt.StandardMain$.initialState(Main.scala:60)
at sbt.xMain.run(Main.scala:26)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
at xsbt.boot.Launch$.run(Launch.scala:57)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
at xsbt.boot.Launch$.launch(Launch.scala:65)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Boot$.runImpl(Boot.scala:32)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.lang.IncompatibleClassChangeError: JLine incompatibility detected. Check that the sbt launcher is version 0.13.x or later.
No está realmente vinculado al juego, ya que recibí el mismo error cuando inicio directamente sbt en ese directorio. Así que probé un par de cosas:
- eliminé todas las cosas relacionadas con sbt de mi directorio de inicio y traté de usar el script sbt de https://github.com/paulp/sbt-extras/blob/master/sbt -> mismo problema
- eliminé todos los archivos jar de mi directorio de repo de hiedra y volví a empezar sbt -> mismo problema
- descargó un lanzador sbt directamente (versión 0.13.0) -> mismo problema
- probado con java 6 -> mismo problema
- Traté de depurar sbt para descubrir qué es lo que está mal, pero lo único que descubrí fue que jline no reconoce que debería usar un UnixTerminal (que obtuve trabajando al configurar SystemProperties) pero luego otra vez -> el mismo error
De alguna manera está relacionado con algún enlace extraño, creo que porque la versión de clase para el terminal que debería usarse parece ser antigua. Al menos esto es de lo que se está quejando el JVM.
Lo probé en una caja virtual con ubuntu, que funcionó bien, así que creo que mi sistema está desordenado o hice algo completamente incorrecto.
Alguien alguna idea?
Este error también puede ocurrir si utiliza un lanzador SBT de 0.12 en un proyecto SBT 0.13, como se sugiere en el mensaje de error.
Intente actualizar la versión SBT a 0.13. Simplemente descargue el archivo sbt tar y cambie la ruta en su archivo .bash_profile. Intente nuevamente ejecutando el comando sbt en el directorio del proyecto. Eso debería solucionar el problema.
Si inicia la JVM con la carga verbosa de la clase habilitada ( -verbose:class
), eso podría ayudar a solucionar de dónde provienen las clases JLine ofensivas. Tal vez tenga un archivo JLine en uno de sus directorios de extensiones JVM, probablemente ~/Library/Java/Extensions
o /System/Library/Java/Extensions
.
Tuve el mismo problema Mi proyecto está utilizando SBT 0.13
Resultó que necesito actualizar SBT Launcher a la versión 0.13 también.