Play Framework:java.lang.NoClassDefFoundError:无法初始化类org.fusesource.jansi.internal.Kernel32

时间:2014-11-14 07:58:09

标签: playframework noclassdeffounderror kernel32

我安装了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

我的操作系统是Windows 8.1。我试过32bit和64bit jdk 1.6,64bit jdk1.7,总是这个错误。

我该怎么做才能解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:-1)

NoClassDefFoundError指定一个类在编译期间可用但在运行时期间丢失。在您的情况下,org.fusesource.jansi.internal.Kernel32在运行时期间不可用或未初始化。尝试在项目中添加Jansi jar的引用。关于how to debug a NoClassDefFoundError

,您可以参考此问题