运行play框架时不支持major.minor版本51.0

时间:2012-10-04 07:36:35

标签: playframework

我知道存在版本冲突。只想让别人告诉我如何解决它。在之前的stackoverflow帖子中没有人告诉解决方案。

版本: Ubuntu:12.04.1 LTS java:1.6.0_24(OpenJDK) javac:1.7.0_07(OpenJDK)

haider@haider-desktop:~/Documents/projects/java-projects/mytestapp$ play
[info] Loading project definition from /home/haider/Documents/projects/java-projects/mytestapp/project
[info] Set current project to mytestapp (in build file:/home/haider/Documents/projects/java-projects/mytestapp/)
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 

play! 2.0.4, http://www.playframework.org

> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.

[mytestapp] $ run

--- (Running the application from SBT, auto-reloading is enabled) ---
[info] play - Listening for HTTP on port 9000...

(Server started, use Ctrl+D to stop and go back to the console...)

[info] Compiling 5 Scala sources and 2 Java sources to /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/classes...
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes$javascript : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes$ref : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes$javascript : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/target/scala-2.9.1/src_managed/main/controllers/routes.java : java.lang.UnsupportedClassVersionError: controllers/routes$ref : Unsupported major.minor version 51.0
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: controllers/routes$javascript : Unsupported major.minor version 51.0
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: controllers/routes : Unsupported major.minor version 51.0
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: controllers/routes$ref : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/app/controllers/Application.java : java.lang.UnsupportedClassVersionError: controllers/Application$Hello : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/app/controllers/Application.java : java.lang.UnsupportedClassVersionError: controllers/Application : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/app/controllers/Application.java : java.lang.UnsupportedClassVersionError: controllers/Application$Hello : Unsupported major.minor version 51.0
[warn] Problem processing dependencies of source /home/haider/Documents/projects/libraries/play-2.0.4/samples/java/helloworld/app/controllers/Application.java : java.lang.UnsupportedClassVersionError: controllers/Application : Unsupported major.minor version 51.0
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: controllers/Application$Hello : Unsupported major.minor version 51.0
[warn] Error reading API from class file : java.lang.UnsupportedClassVersionError: controllers/Application : Unsupported major.minor version 51.0
[info] play - Application started (Dev)

3 个答案:

答案 0 :(得分:27)

您正在使用不同的JDK版本来编译和运行应用程序。你这么说:

java: 1.6.0_24 (OpenJDK) 
javac: 1.7.0_07 (OpenJDK)

因此,您的编译器(javac)是一个比 java 命令更新的版本,这意味着第二个版本无法运行您编译的文件。您必须只使用1个版本的JDK(对于java和javac都相同)

答案 1 :(得分:23)

在Ubuntu上为了编译和运行而更改Java版本,你需要调用:

sudo update-alternatives --config javac 

sudo update-alternatives --config java

答案 2 :(得分:5)

更好的解决方案是更改目标版本,因此您可以从1.7编译为1.6,如下所示: How can I set the javac compile version for Play Framework 2.0 to prevent "Unsupported major.minor version"?

将它放在Build.scala中:

val main = play.Project(appName, appVersion, appDependencies).settings(
  // Force compilation in java 1.6
  javacOptions in Compile ++= Seq("-source", "1.6", "-target", "1.6")
)