2015-06-26 8 views
34

jetzt Gerade erst begonnen Lernen Play-Rahmen für meine Projektanforderung und mein Projekt nur bauen auf JDK 1.7 so habe ich heruntergeladen Wiedergabe 2.3.9 Version und erstellt ein Beispielprojekt von activator new eingeben . Dann in das Beispielprojektverzeichnis verschoben und activator run ausgeführt. Dann sehe ich JDk inkompatible Ausnahmen. Wo muss ich die Änderungen vornehmen, um damit umzugehen?UnsupportedClassVersionError auf mit JDK Play-Anwendung läuft 1.7

log:

[info] Loading project definition from E:\workspace\play\first-app\project 
[info] Set current project to first-app (in build file:/E:/workspace/play/first-app/) 
java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
     at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:535) 
     at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:535) 
     at scala.Option.fold(Option.scala:157) 
     at com.typesafe.sbt.web.SbtWeb$.com$typesafe$sbt$web$SbtWeb$$load(SbtWeb.scala:549) 
     at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonfun$apply$1.apply(SbtWeb.scala:143) 
     at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonfun$apply$1.apply(SbtWeb.scala:143) 
     at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:55) 
     at sbt.Project$.setProject(Project.scala:319) 
     at sbt.BuiltinCommands$.doLoadProject(Main.scala:484) 
     at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475) 
     at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:475) 
     at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58) 
     at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:58) 
     at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) 
     at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:60) 
     at sbt.Command$.process(Command.scala:92) 
     at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) 
     at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98) 
     at sbt.State$$anon$1.process(State.scala:184) 
     at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) 
     at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98) 
     at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) 
     at sbt.MainLoop$.next(MainLoop.scala:98) 
     at sbt.MainLoop$.run(MainLoop.scala:91) 
     at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70) 
     at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65) 
     at sbt.Using.apply(Using.scala:24) 
     at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65) 
     at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48) 
     at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32) 
     at sbt.MainLoop$.runLogged(MainLoop.scala:24) 
     at sbt.StandardMain$.runManaged(Main.scala:53) 
     at sbt.xMain.run(Main.scala:28) 
     at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 
     at xsbt.boot.Launch$.withContextLoader(Launch.scala:128) 
     at xsbt.boot.Launch$.run(Launch.scala:109) 
     at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 
     at xsbt.boot.Launch$.launch(Launch.scala:117) 
     at xsbt.boot.Launch$.apply(Launch.scala:18) 
     at xsbt.boot.Boot$.runImpl(Boot.scala:41) 
     at xsbt.boot.Boot$.main(Boot.scala:17) 
     at xsbt.boot.Boot.main(Boot.scala) 
[error] java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0 
+3

Öffnen Sie 'E: \ workspace \ play \ first-app \ project \ plugins.sbt'. Was ist die Zahl 'X.Y.Z' in der Zeile' addSbtPlugin ("com.typesafe.play"% "sbt-plugin"% "X.Y.Z") '? – Salem

+3

ist es 2.4.1. Jetzt habe ich es auf 2.3.9 geändert und es funktioniert – Pokuri

+1

Kann jemand eine Antwort erstellen, die die expliziten Schritte beschreibt? Das heißt, gehen Sie in "app/project/plugins.sbt" und ersetzen Sie die "com.typesafe.play" Version mit "2.3.9". Die offizielle Antwort ließ mich denken, dass etwas mit meinem JDK-Setup nicht stimmte, aber es scheint, dass das Ändern der (automatisch generierten) plugins.sbt die richtige Lösung ist. – cib

Antwort

35

52 = Java 8, 51 = Java 7 .. Auf com.typesafe.config.ConfigException; Du hast also eine zu neue Bibliothek.

+0

Ich sehe, dass 2.4.x Java 8 erfordert, also habe ich 2.3.9 von thei Link heruntergeladen https://playframework.com/download#older-versionen. Dann, wie habe ich Java 8 kompatible Dateien bekommen? – Pokuri

+0

Hatten Sie eine vorherige Installation? Überprüfen Sie Ihren Krieg für falsch genommene Gläser. Vielleicht ein serialisiertes "config" Objekt einer zu neuen Version (* .ser oder was auch immer) –

+0

Ich habe das gleiche Problem. Ich habe ein anderes Projekt in Play 2.3.9 und ich möchte, dass es 2.4.1 ist. –

1

Obwohl es schien, war ich die gleiche Version für Java und javac mit:

  • java -version java version "1.8.0_51"
  • javac -version Javac 1.8.0_51

Mein Problem war (Linux Mint 17.1), dass ich oracle-java7 und oracle-java8 installiert hatte, so muss irgendwo eine Fehlkonfiguration sein.

Ich deinstalliert oracle-java7 und alles hat gut zu mir funktioniert.

+0

Das gleiche Problem war für mich auf Ubuntu 14.04 – lennykey

+1

Ich habe die gleiche Version von Java im Pfad, aber meine JAVA_HOME-Variable wurde für eine frühere Version eingestellt. Durch das Setzen von JAVA_HOME auf die richtige Version wurde das Problem behoben. – Decly

0

Tatsächlich löst das, was @cib sagt, mein Problem. Ändern Sie einfach die Datei plugins.sbt in meinem Projektverzeichnis.

Ändern Sie die Zeile:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.2")

zu:

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.9")

und Sie werden keine Fehler bekommen wieder tun activator run.

+0

HI, Amelie, ich habe sbt-plugin von 2.5.9 zu 2.3.9 geändert, aber immer noch, ich bin mit dem gleichen Problem konfrontiert, bitte helfen Sie mir –

14

Beschreibung:

  • Java SE 8 = 52
  • Java SE 7 = 51
  • Java SE 6,0 = 50

Java 8 hat große Version 52, was bedeutet, Wenn wir den javac-Befehl von der Java 8-Installation ausführen, wird standardmäßig eine Klasse mit der Hauptversion 52 generiert. Wenn wir jedoch die Klassendatei in JRE 7 ausführen, erhalten wir "Nicht unterstützt major.minor Version 52.0 ".

Lösung:

Es gibt eine Fehlkonfiguration in% JAVA_HOME% war

  • java -version java version „1.8.0_45"

  • javac -version Javac 1.8.0_45

  • @echo %JAVA_HOME% C: \ Programme \ Java \ jdk1.7.0_75

den Pfad zu setzen temporäre

  • set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45

  • @echo %JAVA_HOME% C: \ Programme \ Java \ jdk1.8.0_45

+0

Danke für die Beschreibung und Lösungsstil Antwort :) – fermat4214

2

ConfigException tritt auf, weil ab Version 1.3.0, Bibliothek com.typesafe.config mit JDK8 nur kompatibel ist; siehe README. Sie müssen die Bibliotheksversion herunterstufen. Verwenden Sie

"com.typesafe" % "config" % "1.2.1" 
1

Konfrontierte ähnliches Problem gelöst durch Version Ändern

//addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.0") 
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.9") 

Mit über Änderungen unter Ausnahme aufgelöst wurde (Anmerkung: System hat Java 7)

Ausnahme bekam mit höherer Version:

[info] Set current project to helloworld (in build file:/Users/suniltonger/Projects/play/helloworld/helloworld/) 
java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:559) 
    at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$SbtWeb$$load$1.apply(SbtWeb.scala:559) 
    at scala.Option.fold(Option.scala:157) 
    at com.typesafe.sbt.web.SbtWeb$.com$typesafe$sbt$web$SbtWeb$$load(SbtWeb.scala:573) 
    at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonfun$apply$1.apply(SbtWeb.scala:143) 
    at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonfun$apply$1.apply(SbtWeb.scala:143) 
    at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:55) 
    at sbt.Project$.setProject(Project.scala:319) 
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:503) 
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484) 
    at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484) 
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59) 
    at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59) 
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61) 
    at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61) 
    at sbt.Command$.process(Command.scala:93) 
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96) 
    at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96) 
    at sbt.State$$anon$1.process(State.scala:184) 
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96) 
    at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96) 
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) 
    at sbt.MainLoop$.next(MainLoop.scala:96) 
    at sbt.MainLoop$.run(MainLoop.scala:89) 
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:68) 
    at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:63) 
    at sbt.Using.apply(Using.scala:24) 
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:63) 
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:46) 
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:30) 
    at sbt.MainLoop$.runLogged(MainLoop.scala:22) 
    at sbt.StandardMain$.runManaged(Main.scala:54) 
    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:128) 
    at xsbt.boot.Launch$.run(Launch.scala:109) 
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 
    at xsbt.boot.Launch$.launch(Launch.scala:117) 
    at xsbt.boot.Launch$.apply(Launch.scala:18) 
    at xsbt.boot.Boot$.runImpl(Boot.scala:41) 
    at xsbt.boot.Boot$.main(Boot.scala:17) 
    at xsbt.boot.Boot.main(Boot.scala) 
[error] java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0 
[error] Use 'last' for the full log. 
[debug] > load-failed 
+0

HI, Sunil, ich habe das sbt-plugin von 2.5.9 auf 2.3.9 geändert, aber trotzdem habe ich das selbe Problem, bitte hilf mir, danke im voraus –

Verwandte Themen