我安装了play框架,并使用hello-play-java模板创建了一个应用程序。当我编译时,它有一个错误:
Refreshing list of source files to watch for changes...
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32
at org.fusesource.jansi.internal.WindowsSupport.getConsoleMode(WindowsSupport.java:50)
at jline.WindowsTerminal.getConsoleMode(WindowsTerminal.java:177)
at jline.WindowsTerminal.init(WindowsTerminal.java:80)
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sbt.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:86)
at sbt.ConsoleLogger$.<init>(ConsoleLogger.scala:80)
at sbt.ConsoleLogger$.<clinit>(ConsoleLogger.scala)
at sbt.GlobalLogging$.initial(GlobalLogging.scala:40)
at sbt.StandardMain$.initialGlobalLogging(Main.scala:64)
at sbt.StandardMain$.initialState(Main.scala:73)
at sbt.xMain.run(Main.scala:29)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
[info] Loading project definition from D:\play\playtemplate\hello-play-java\project我的操作系统是Windows8.1。我尝试了32位和64位jdk 1.6,64位jdk1.7,总是出现这个错误。
我该怎么做才能解决这个问题。谢谢。
发布于 2014-11-15 16:58:49
NoClassDefFoundError指定类在编译时可用,但在运行时丢失。在您的例子中,org.fusesource.jansi.internal.Kernel32要么不可用,要么在运行时未初始化。正在尝试将Jansi jar的引用添加到项目中。关于how to debug a NoClassDefFoundError,您可以参考以下内容
https://stackoverflow.com/questions/26925410
复制相似问题