Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76

    java.lang.UnsupportedClassVersionError

    ciao ragazzi una domanda: sul mio pc ho realizzato una applicazione java che funziona correttamente senza problemi.Ora ho provato ad eseguire il file .jar che ho generato(e che sul pc dove ho sviluppato l'applicazione gira correttamente) su un altro Pc e ottengo l'errore:

    java.lang.UnsupportedClassVersionError:Bad version number in .class file .....

    Ora cercando un po su internet credo di aver capito la causa del problema, forse, e cioè che compilo con una versione ed eseguo probabilmente con una versione di java precedente a quella con cui compilo(correggetemi se cosi non è). Se ho intuito bene allora ciò che mi chiedo è questo: come faccio a rendere pubblica la mia applicazione pubblicando solo il file .jar visto che da tali problemi? dovrei specificare a chi lo dovrà utilizzare che deve avere una versione di java uguale a quella con la quale io ho compilato? GRAZIE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: java.lang.UnsupportedClassVersionError

    Originariamente inviato da alf83
    Se ho intuito bene allora ciò che mi chiedo è questo: come faccio a rendere pubblica la mia applicazione pubblicando solo il file .jar visto che da tali problemi? dovrei specificare a chi lo dovrà utilizzare che deve avere una versione di java uguale a quella con la quale io ho compilato? GRAZIE
    Innanzitutto sei tu che devi stabilire quale è la minima versione di Java da usare. Esempio: se hai sfruttato i "generics", allora dovrai compilare almeno per generare i file .class per Java 5. E chiaramente chi vorrà usare la applicazione dovrà avere almeno Java 5! Se ad esempio hai usato anche classi particolari di Java 6, allora dovresti compilare per generare file .class per Java 6.

    Ogni file .class ha una "versione", indicata nell'header del file. Se stai usando un JDK 5 e compili senza specificare nulla di particolare, allora la versione inserita nel file .class è 49.0, Se usi il JDK 6, la versione usata di default è 50.0. E così per altre versioni di JDK.

    Il tool javac ha 2 opzioni: -source e -target. Con queste opzioni si può aggiustare la versione del sorgente accettata e la versione da usare per generare i file .class.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.