|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
|
[Java] Passaggio da jdk6 a jdk5 problemi
Salve a tutti devo mettere il jdk5 al posto del 6 dato che ho alcune applicazioni che in caso contrario non mi partirebbero però ora mi ritrovo dei problemi abbastanza rognosi sia con eclipse che con la linea di comando.
Parto dalla cosa più semplice, il path. Ho tolto dal path il percoso del jdk6 (che ho tutt'ora installato, ma togliendolo dal path pensavo di evitare che venisse usato) ed ho inserito il path del jdk5. Ora se do "javac -version" mi compare "java version 1.5.0_09", cosa che mi sta benissimo e voglio. Se invece do "java -version" mi viene risposto "java version 1.6.0_02" e questo è male, come posso fare a fargli prendere java5 e non java6? Io ho windows vista, nel percoso del path non c'è il percorso di java6 ma solo quello di java5. Altri problemi li ho con eclipse, in particolare con un progetto in cui uso jdom1.0. Ho scritto una classe che scrive su un file xml, con java6 la classe veniva compilata e partiva senza problemi, con java5 se provo ad usarla mi viene dato questo errore: Codice:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at xml.JDomProva.<init>(JDomProva.java:34) at Prova.main(Prova.java:20) Il problema che mi viene dato può dipendere dall'aver usato ant con java 5 per generare il jar? Grazie a tutti, arrivederci, ciao ciao. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
La compatibilità delle applicazioni Java è relativamente direzionale, nel senso che a meno di usare delle new entry, ciò che compili con una versione precedente viene eseguito su una versione successiva ma non il contrario.
L'eccezione che incontri, quel Bad version number, deriva dal formato dei file ".class" i quali includono un timbro che identifica la versione di java usata per la compilazione. In particolare, quell'eccezione ti segnala il tentativo di eseguire una classe compilata con Java 6 su una piattaforma Java minore: devi ricompilare il sorgenti se vuoi eseguirlo su Java 5. Puoi farlo anche con il javac della versione 6 usando l'opzione: javac -source 5 -target 5 [il resto] Per quanto riguarda la rimozione di Java, su Windows l'installazione del JRE modifica il registro di sistema (che credo abbia anche Vista). Devi andare nel pannello di controllo -> installazione applicazioni (o l'equivalente di Vista) e rimuovere il JRE 6. Nota che puoi tenere il JDK 6 ed usare quello per eseguire i programmi Java 6. Il JDK infatti include un JRE detto "privato" il quale può essere usato previa impostazione della path (es. c:\programmi\java\jdk1.6.0\jre\bin) o tramite invocazione diretta (c:\programmi\java\jdk1.6.0\jre\bin\java.exe eccetera).
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
|
Ciao, ho riprovato a ricompilare i file .java con java5 ma il problema persiste ugualmente, perchè un simile comportamente?
Ci sto perdendo un sacco di giorni con questo problema senza riuscire a capire come risolvere, cosa posso fare? Grazie mille a tutti, ciao ciao. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il perchè è sempre quello. C'è almeno un file class compilato per una versione di Java superiore a quella con cui stai cercando di eseguire il programma.
Radi al suolo tutti i JRE e JDK che hai. Elimina tutti i file class che hai compilato e tieni solo i sorgenti. Dopodichè installi il JDK 5 senza installare il JRE pubblico. A quel punto compili tutto e sei a posto. Devi essere a posto.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12103
|
Quote:
Ma secondo me fai prima a scaricarti il jar dal sito sinceramente ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Aug 2004
Città: Palermo
Messaggi: 1079
|
Ho provato a ricompilare jdom con java5 ma sempre problemi a questo punto per evitare di perdere tempo ho anticipato la formattazione vediamo se adesso va.
Ciao ciao. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:42.