Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UnsupportedClassVersionError on running play application with JDK 1.7

Just now started learning Play framework for my project requirement and my project only build on JDK 1.7 so I have downloaded Play 2.3.9 version and created a sample project by typing activator new. Then moved into the sample project directory and executed activator run. Then I see JDk incompatible exceptions. Where I have to make the changes to handle this?

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 
like image 689
Pokuri Avatar asked Jun 26 '15 09:06

Pokuri


People also ask

How do I fix Java Lang UnsupportedClassVersionError in Java?

UnsupportedClassVersionError happens because of a higher JDK during compile time and lower JDK during runtime. How can i make above change? Project -> Properties -> Java Compiler Enable project specific settings. Then select Compiler Compliance Level to 1.7, 1.6 or 1.5, build and test your app.

What is UnsupportedClassVersionError in Java?

Class UnsupportedClassVersionErrorThrown when the Java Virtual Machine attempts to read a class file and determines that the major and minor version numbers in the file are not supported.

What does Java Lang UnsupportedClassVersionError mean?

If the JVM identifies that the versions in a class file cannot be supported, it throws an UnsupportedClassVersionError . This error occurs when you compile a program using a higher version of Java and execute it using a JVM of a lower version.

When my class encounter UnsupportedClassVersionError which option would resolve this issue?

1) If you encounter UnSupportedClassVersionError, check the JRE version you are using to run program and switch to higher version for quick solution.


2 Answers

52 = Java 8, 51 = Java 7.. On com.typesafe.config.ConfigException; so you have a too new library.

like image 51
Joop Eggen Avatar answered Sep 29 '22 04:09

Joop Eggen


Description :

  • Java SE 8 = 52
  • Java SE 7 = 51
  • Java SE 6.0 = 50

Java 8 has major version 52, which means if we run javac command from Java 8 installation, it will by default generate a class with major version 52. However, if we run class file in JRE 7, we will get "Unsupported major.minor version 52.0".

Solution :

There was a mis configuration in %JAVA_HOME%

  • java -version java version "1.8.0_45"

  • javac -version javac 1.8.0_45

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

To set the path temporary

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

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

like image 27
Ronak Agrawal Avatar answered Sep 29 '22 03:09

Ronak Agrawal