Unsupported major.minor version 52.0 unable to load class

di Anonimizzato20138 il
4 risposte
Ciao A tutti,

Ho creato una servlet che deve girare su tomcat 7.0.59 istallato su Fedora. Ho compilato utilizzando il compilatore della open jdk 1.8.0_65 usando il parametro -classpath per localizzare il percorso delle classi incluse nel sorgente. In fase di compilazione nessun errore.

Quando vado a chiamare la servlet dal browser ho l'errore : "Unsupported major.minor version 52.0 unable to load class".

Qualcuno cortesemente potrebbe darmi qualche suggerimento ? Grazie

4 Risposte

  • Tomcat sta' utilizzando una versione PRECEDENTE di Java rispetto a quella che hai utilizzato per compilare.

    QUESTO NON E' SUPPORTATO, ovviamente.

    Quello che e' supportato, altrettanto OVVIAMENTE, e' che puo compilare con una versione di Java ed eseguire il codice con una versione SUCCESSIVA.
  • rufis ha scritto:


    Quando vado a chiamare la servlet dal browser ho l'errore : "Unsupported major.minor version 52.0 unable to load class".
    Il class version interno ai .class 52.0 corrisponde a Java 8. E quindi vuol dire che la JVM che stai usando (che Tomcat sta usando) è un Java 7 o inferiore.

    rufis ha scritto:


    Qualcuno cortesemente potrebbe darmi qualche suggerimento ? Grazie
    O compili con "target" Java 7 (ma chiaramente NON puoi usare feature di Java 8 ) oppure fai in modo che Tomcat usi il runtime di Java 8.
  • Grazie per i suggerimenti.

    L'output di env mi dice che la JAVA_HOME punta alla openjdk 1.7.0. A questo punto opterei per far vedere a tomacat la 1.8.
    La jvm 1.8 è presente in /usr/lib/jvm

    Quale potrebbe essere una procedura corretta per settare questa variabile alla jvm 1.8 ?

    Grazie
  • Grazie delle risposte ho risolto
Devi accedere o registrarti per scrivere nel forum
4 risposte