我刚刚从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。
任何建议表示赞赏。
答案 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'
如果不存在,请添加它。如果存在,请确保将其设置为您的环境正在使用的版本。 最后,清理并重新编译 - 现在应该可以正常工作。