Play Framework 2.1.2 - > 2.1.3:java.lang.UnsupportedClassVersionError

时间:2013-08-24 20:07:52

标签: java playframework intellij-idea playframework-2.1

我刚刚从Play Framework版本2.1.2迁移到2.1.3。在我的情况下,它存在于 C:\ Play \ current_version 中,因此PATH始终保持不变。

在这两个版本中,我都可以从控制台成功播放清除编译播放。但是当我使用版本 2.1.3 从IDEA 运行时,我有:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at xsbt.boot.Boot.main(Boot.scala)

和泡沫:

Error running PROJECT_NAME:
Cannot find Play 2 install dir

在哪里挖?

更新

第一件事:在控制台和IDEA中,一切都由2.1.2和2.1.3编译。当我试图通过IDEA 2.1.3运行应用程序时,我遇到了问题。

我发现2.1.3正在尝试使用 C:\ Program Files(x86)\ Java \ jre1.5.0_22 而不是 C:\ Program Files \ Java \ jdk1.7.0_25 C:\ Program Files \ Java \ jre7 。现在我已将文件夹重命名为 C:\ Program Files(x86)\ Java_not ,尝试从IDEA运行2.1.3时出错:

C:\Play\current_version\play.bat
Error: could not open `C:\Program Files (x86)\Java\jre1.5.0_22\lib\i386\jvm.cfg'

Process finished with exit code 0

我不明白的是2.1.3走向 C:\ Program Files(x86)\ Java \ jre1.5.0_22 的路径。系统路径变量仅包含 C:\ Program Files \ Java \ jdk1.7.0_25 \ bin

这个错误的路径可能在IDEA中的某处配置(因为从控制台2.1.3成功运行)并且令人惊讶地仅影响2.1.3,但不影响2.1.2。

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:1)

问题根本与Play Framework无关。

此处找到了解决方案:http://jaykhimani.blogspot.ru/2012/09/error-could-not-open-cprogram.html

应删除

java.exe javaw.exe javaws.exe

<强> C:\的Windows \ SysWOW64中 和 的 C:\ Windows \ System32下

答案 1 :(得分:0)

如果您尝试运行使用另一个Java版本编译的类文件,则会出现此问题。您可以将java版本设置为在您的applications.conf中编译和运行,它应该是相同的,它被定义为您的系统的标准(在现代mac上最常见的是1.6,1.7)

在application.conf中搜索以下行:

'java.source=1.6'

如果不存在,请添加它。如果存在,请确保将其设置为您的环境正在使用的版本。 最后,清理并重新编译 - 现在应该可以正常工作。