Question

J'essaie de compiler un projet WebTools pour Java5 / Tomcat 5.5 dans Ubuntu (avec éclipse 3.4 installé manuellement). Je règle le jre installé sur java-1.5.0-sun-1.5.0.18 et le niveau de conformité du compilateur sur 1.5. Lorsque j'exporte ceci dans un fichier .war et que je tente de le déployer dans Tomcat (Windows XP, Tomcat 5.5.27, Java 1.5.0_18), le message d'erreur suivant s'affiche:

SEVERE: Error deploying web application archive Jdbc2Ei.war
java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
...

Quelqu'un sait comment résoudre ce problème?

Était-ce utile?

La solution 2

Compilé sous Windows, et ça marche! Un bug quelque part ... il y aura un moment où ce problème sera corrigé.

Autres conseils

  

java.lang.UnsupportedClassVersionError: Numéro de version incorrect dans le fichier .class

vérifiez que tous vos fichiers jar sont compilés pour java5.

Si cela fonctionne sous Windows, c'est probablement dû à une différence d'environnement plutôt qu'à un bogue présent dans les versions Linux des JDK. Vérifiez si vous avez plusieurs machines virtuelles Java présentes dans Linux (c'est certainement le cas, car Ubuntu est probablement livrée avec une version non-Sun) et assurez-vous à 110% que vous utilisez la version attendue pour la compilation. Émettre

which javac

et

echo $JAVA_HOME; echo $JDK_HOME

à partir d'une ligne de commande peut également vous aider, car ils peuvent tous être utilisés pour localiser un JDK (ainsi que les paramètres que vous utilisez dans votre commande / outil de compilation).

Votre tomcat utilise un kit JDK inférieur à celui utilisé pour compiler certaines de vos classes. Recompilez avec un JDK compatible ou mettez à niveau le JRE du tomcat.

Un naïf: Après avoir modifié les préférences du projet et avant d’exporter le fichier WAR sous Ubuntu, avez-vous essayé d’imposer la compilation à vos projets (Projet - & Nettoyer ... dans Eclipse)?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top