Newsgroup: it.comp.java
Titolo: Far convivere Java 1.5 e Java 1.4

Per motivi che non sto ad illustrarvi, ho la necessità di eseguire un
programma utilizzando le JDK 1.4.2, mentre tutti gli altri programmi
devono essere eseguiti usando la 1.5.0.11 (l'ultima)
Ho creato due file .reg da eseguire quando voglio rendere di default
una versione piuttosto che un'altra. Il codice è il seguente:
<file: java1_5.reg>
^^^^^^^^^^^^^^^^^^^^^
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.5"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.5]
"JavaHome"="C:\\Programmi\\Java\\jre1.5.0_11"
"RuntimeLib"="C:\\Programmi\\Java\\jre1.5.0_11\\bin\\client\\jvm.dll"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
\1.5.0_11]
"JavaHome"="C:\\Programmi\\Java\\jre1.5.0_11"
"MicroVersion"="0"
"RuntimeLib"="C:\\Programmi\\Java\\jre1.5.0_11\\bin\\client\\jvm.dll"
<file: java1_4.reg> (delle java 1.4 ho installato la JDK)
^^^^^^^^^^^^^^^^^^^^^
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.4"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.4]
"JavaHome"="C:\\j2sdk1.4.2_07"
"RuntimeLib"="C:\\j2sdk1.4.2_07\\jre\\bin\\client\\jvm.dll"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
\1.4.2_07]
"JavaHome"="C:\\j2sdk1.4.2_07"
"MicroVersion"="0"
"RuntimeLib"="C:\\j2sdk1.4.2_07\\jre\\bin\\client\\jvm.dll"
Ci tengo a precisare che non ho la possibilità di specificare il
percorso completo del file javac.exe per la compilazione (ho un
AppServer che compila automaticamente il codice jsp usando la JVM di
default)
- Eseguendo il file java1_5.reg funziona alla grande. Scrivendo da
prompt java -version ottengo la versione giusta
- Eseguendo il file java1_4.reg invece non funziona. Scrivendo da
prompt java -version mi dice:
has value '1.4', but '1.5' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.
Cos'altro devo cambiare per settare la 1.4 come versione di default??
(Uso winXp... Se dovessi mettere mano alle variabili di ambiente, DOVE
di preciso devo andare a cambiare il valore? Se ora guardo in pannello
di controllo->Sistema->Avanzate->Variabili di ambiente non trovo
nessuna variabile JAVAHOME impostata, ed ovviamente sia autoexec.bat
che config.sys sono vuoti.... Quindi, dove va a pescare il percorso
della 1.5??)
Grazie mille.
Ale

 Cos'altro devo cambiare per settare la 1.4 come versione di default??
Fai partire il tuo applicativo con un batch, dove ti preoccuperai di 
settare path e classpath opportunamente:
@echo off
set PATH=path\to\old\jvm
set CLASSPATH=the\classpath
java -jar quellochevuoi.jar

Ciao a tutti,
per necessità anche io sono stata costretta a far convivere le due
versioni di Java.
Dopo aver modificato opportunamente tutte le variabili di ambiente
( JAVA_HOME, JDK_TOOLS, PATH e CLASSPATH)
per lavorare con Java 1.4
mi sono accorta che in console al comando
java -version
rispondeva sempre Java 5.
Ho controllato PATH e ho trovato prima di %JAVA_HOME%\bin soltanto il
path a windows\system32
ho guardato nella cartella system32
e ho trovato 3 file che non mi aspettavo:
java.exe
javaw.exe
javaws.exe
corrispondenti a Java 5 (ho controllato la versione).
Ho risolto rimuovendo i file: le variabili di ambiente adesso fanno il
loro dovere.
Spero possa essere utile,
se non lo è vuol dire che è successo qualcosa di "strano"  :-) quando
ho eseguito l'installer della sun
Ciao a tutti
Monica