2012-04-27 5 views
2

背景、このアプリケーションはPlay!マックOS X 10.5.8再生!フレームワークの実行でUnsupportedClassVersionErrorがスローされる

枠組み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に設定されている私もPOINきたjava version "1.6.0_26"

を生み出しますted/System/Java/1.6のインストール先ホーム。

これ以外に何が起こる可能性がありますか?

+0

サードパーティの依存関係はありますか?いくつかの依存関係がJava 7でコンパイルされ、Java 6で実行されている場合、このエラーは通常発生します。 – aaberg

+0

依存関係は使用されていますが、Ivyを介して取り除かれ、他のチームメンバーにはこの問題はありません。チームの誰もがJava 6でこれを実行しています。 –

答えて

2

あなたのPATHにはどのJavaバージョンがありますか?アプリケーションのすべての設定が1.6を指しているように見えるが、PATHにはPATH文字列内の位置のために最初に読み込まれた1.5への参照が含まれていたのと同様の問題がありました(Playではなく)。

PATHを確認してください。そして、私はMacユーザーではありませんが、sudoを使用する必要がありますか? Ubuntuでは私はPlayを実行しません。可能であれば、これにより、ユーザーのパスと構成がrootになるため予期しない競合が減少する可能性があります。

+0

問題を把握しました。はい、それはsudo関連でした。 sudo java -versionは、rootがJava 1.5を使用していることを示しました。ルートプロファイルを更新するとこれが修正されました。 –

関連する問題