Come compilare .war per Java 5 / Tomcat 5.5 in Ubuntu?
-
08-07-2019 - |
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?
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)?