2012-04-27 4 views
2

En arrière-plan, cette application est en cours d'exécution sur Play! Cadre 1.2.4 sur Mac OS X 10.5.8Jouez! Framework run throws UnsupportedClassVersionError

La commande Je me présente: sudo play run

Exception levée:

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) 

Le application.conf pour l'application et tous les modules dépendants sont mis à java.source=1.6

sudo $JAVA_HOME/bin/java -version donne java version "1.6.0_26"

J'ai même poin ted/System/Java/Home à l'installation de 1.6.

Quoi d'autre pourrait être à l'origine de cela?

+0

Avez-vous des dépendances tierces? Cette erreur se produit généralement si certaines dépendances sont compilées avec java 7 et que vous utilisez java 6. – aaberg

+0

Nous avons un ensemble de dépendances en cours d'utilisation mais elles sont arrêtées via Ivy et les autres membres de l'équipe n'ont pas ce problème. Tous les autres membres de l'équipe utilisent également Java 6. –

Répondre

2

Quelle (s) version (s) Java avez-vous dans votre PATH? Nous avons eu un problème similaire (pas avec Play, cependant) dans lequel tous les paramètres de l'application semblaient pointer vers 1.6 mais le PATH avait une référence à 1.5 qui était chargée en premier à cause de sa position dans la chaîne PATH.

Vérifiez votre PATH. Et, je ne suis pas un utilisateur Mac, mais il est nécessaire d'utiliser sudo? Dans Ubuntu, je lance Play sans. Si possible, cela peut aider à réduire les conflits inattendus en raison des chemins utilisateur et de la configuration root.

+0

Juste compris le problème. Oui c'était lié sudo. sudo java -version a montré que root utilisait Java 1.5. La mise à jour du profil racine a corrigé cela. –

Questions connexes