재생 프레임 워크를 설치하고 hello-play-java 템플릿을 사용하여 애플리케이션을 생성했습니다. 컴파일 할 때 오류가 발생합니다.Play Framework : java.lang.NoClassDefFoundError : 클래스 org.fuseource.jansi.internal.Kernel32를 초기화 할 수 없습니다.
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
내 OS는 Windows 8.1입니다. 나는 32 비트와 64 비트 jdk 1.6, 64 비트 jdk1.7을 시도했는데 항상이 오류가 발생했다.
이 문제를 해결하려면 어떻게해야합니까? 고맙습니다.
답변 해 주셔서 감사합니다. 내가 혼동하는 것은 플레이 저장소에 Jansi jar가 있다는 것입니다. 누군가 플레이 2.x가 자바 8 만 지원한다고 말했지만,이 오류는 여전히 발생했습니다. – Sealter
stacktrace에서 ClassNotFoundException 또는 ExceptionInInitializerError의 다른 오류가 표시됩니까? –
아니요, NoClassDefFoundError – Sealter