2

背景,此应用程序正在 Play 上运行!Mac OS X 10.5.8 上的框架 1.2.4

我正在运行的命令:sudo play run

抛出的异常:

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(ClassLoader.java:676)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
    at java.lang.Class.getConstructor0(Class.java:2671)
    at java.lang.Class.newInstance0(Class.java:321)
    at java.lang.Class.newInstance(Class.java:303)
    at play.plugins.PluginCollection.loadPlugins(PluginCollection.java:158)
    at play.Play.init(Play.java:294)
    at play.server.Server.main(Server.java:158)

应用程序和所有依赖模块的 application.conf 设置为java.source=1.6

sudo $JAVA_HOME/bin/java -version产量java version "1.6.0_26"

我什至将 /System/Java/Home 指向 1.6 安装。

还有什么可能导致这种情况?

4

1 回答 1

2

您的 PATH 中有哪些 Java 版本?我们遇到了一个类似的问题(尽管 Play 没有),其中应用程序的所有设置似乎都指向 1.6,但 PATH 有一个对 1​​.5 的引用,由于它在 PATH 字符串中的位置,它首先被加载。

检查你的路径。而且,我不是 Mac 用户,但有必要使用sudo? 在 Ubuntu 中,我运行 Play without。如果可能,这可能有助于减少由于root用户路径和配置导致的意外冲突。

于 2012-04-30T14:54:16.283 回答