Domanda

Provo a compilare un progetto webtools per Java5 / Tomcat 5.5 in ubuntu (con eclipse 3.4 installato manualmente). Ho impostato il jre installato su java-1.5.0-sun-1.5.0.18 e il livello di conformità del compilatore su 1.5. Quando esporto questo in un file .war e provo a distribuirlo in Tomcat (Windows XP, Tomcat 5.5.27, Java 1.5.0_18), ottengo il seguente errore:

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)
...

Qualcuno sa come risolverlo?

È stato utile?

Soluzione 2

Compilato sotto Windows, e funziona! Alcuni bug da qualche parte ... ci sarà una volta che questo problema verrà risolto.

Altri suggerimenti

  

java.lang.UnsupportedClassVersionError: numero di versione errato nel file .class

controlla che tutti i tuoi vasetti siano compilati per java5.

Se funziona in Windows, è probabilmente dovuto a una differenza negli ambienti piuttosto che a un bug presente nelle versioni Linux dei JDK. Verifica se sono presenti più JVM presenti in Linux (quasi sicuramente, poiché Ubuntu probabilmente viene fornito con una versione non Sun) ed assicurati al 110% di utilizzare la versione prevista per la compilazione. L'emissione di

which javac

e

echo $JAVA_HOME; echo $JDK_HOME

da una riga di comando potrebbe anche aiutare, dal momento che tutti questi potrebbero essere fattibili per localizzare un JDK (così come le impostazioni usate nel comando / strumento di compilazione).

Il tuo tomcat sta eseguendo un JDK minore di quello usato per compilare alcune delle tue classi. Ricompilare con un JDK compatibile o aggiornare JRE per Tomcat.

Un ingenuo: Dopo aver modificato le preferenze del progetto e prima di esportare il file WAR su Ubuntu, hai provato a forzare la compilazione dei tuoi progetti (Progetto - > Clean ... in Eclipse)?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top