Come posso cambiare la versione di Java Runtime su Windows (7)?


Come posso cambiare la versione di Java Runtime su Windows.

Ho installato Java 7 per alcuni test, e ora ho bisogno del vecchio java6 come predefinito di sistema, ma non voglio disinstallare Java 7 (ne ho bisogno per i test successivi). Posso cambiare il sistema utilizzato JRE nella scheda pannello di controllo/Java/JRE? Posso cambiare/modificare/aggiungere / eliminare la versione utilizzata dall'utente, ma non il sistema utilizzato.

Author: Peter Mortensen, 2010-07-26

8 answers

Per Java applicazioni , cioè programmi che vengono consegnati (di solito) come file .jar e avviati con java -jar xxx.jar o tramite una scorciatoia che fa lo stesso, il JRE che verrà avviato sarà il primo trovato su PATH.

Se hai installato un JRE o un JDK, i posti probabili in cui trovare .exe sono sotto directory come C:\Program Files\JavaSoft\JRE\x.y.z. Tuttavia, ho trovato alcune installazioni di Windows "out of the box" (anche?) avere copie di java.exe e javaw.exe in C:\winnt\system32 (NT e 2000) o C:\windows\system (Finestre 95, 98). Questa di solito è una versione piuttosto anziana di Java: 1.3, forse? Ti consigliamo di fare java -version in una finestra di comando per verificare che non stai eseguendo una versione antiquata di Java.

Ovviamente puoi sovrascrivere l'impostazione del PERCORSO o addirittura farne a meno indicando esplicitamente il percorso di java.exe / javaw.exe nella definizione della riga di comando o del collegamento.


Se stai eseguendo applet dal browser, o forse anche Java Web Start applicazioni (sembrano applicazioni nella misura in cui hanno una propria finestra, ma le si avvia dal browser), la scelta di JRE è determinata da una serie di impostazioni del registro:

Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3

Vengono create altre chiavi di registro utilizzando questo schema:

(e.g.) 
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3   
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1

Cioè uno per il maggiore e uno che include il numero di versione minore. Ognuna di queste chiavi ha valori come questi (esempi mostrati):

JavaHome    : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib  : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1

... e il tuo browser guarderà a queste impostazioni per determinare quale JRE accendete.

Poiché le versioni Java cambiano abbastanza frequentemente, ora c'è una "procedura guidata" chiamata "Pannello di controllo Java" per cambiare manualmente la versione Java del browser. Questo funziona per IE, Firefox e probabilmente altri come Opera e Chrome pure: È il 'Java' applet in Windows' System Settings app. Puoi scegliere uno qualsiasi dei JRE installati. Credo che wizard giochetti con quelle voci di registro.

Se sei come me e hai "disinstallato" le vecchie versioni di Java semplicemente cancellando le directory, troverai anche questi "fantasmi" tra le scelte; quindi assicurati che il JRE che scegli corrisponda a un'installazione Java intatta!


Alcune altre risposte consigliano di impostare la variabile ambiente JAVA_HOME. Questo è nel frattempo un consiglio obsoleto. Sun si rese conto, intorno a Java 2, che questa impostazione dell'ambiente è

  1. inaffidabile, poiché gli utenti spesso lo impostano in modo errato e
  2. non necessario, in quanto è abbastanza facile per il runtime per trovare le directory della libreria Java, sapendo che si trovano in un percorso fisso rispetto al percorso da cui java.exe o javaw.exe è stato lanciato.

Non è rimasto quasi nessun software Java moderno che abbia bisogno o rispetti la variabile d'ambiente JAVA_HOME.


Maggiori informazioni:

...e alcuni utili informazioni sul supporto multi-versione:

 73
Author: Carl Smotricz, 2010-07-26 19:15:43

Io uso per lavorare su macchine UNIX-like, ma recentemente ho dovuto fare un po ' di lavoro con Java su una macchina Windows 7. Ho avuto quel problema e questo è l'ho risolto. Ha funzionato bene per me, quindi spero che possa essere utilizzato per chiunque possa avere questo problema in futuro.

Questi passaggi sono esposti considerando un'installazione Java predefinita sull'unità C. È necessario modificare ciò che è necessario nel caso in cui l'installazione non sia predefinita.

Modifica della VM predefinita Java su Windows 7

Supponiamo di aver installato Java 8 ma per qualsiasi motivo vogliamo continuare con Java 7.

1-Avviare un cmd come amministratore

2 - Vai a C:\ProgramData\Oracle\Java

3 - Rinominare la directory corrente javapatha javapath_. Ad esempio.: rename javapath javapath_1.8

4 - Creare una directory javapath_. Ad esempio.: mkdir javapath_1.7

5-cd in esso e creare i seguenti link:

cd javapath_1.7
mklink java.exe "C:\Program Files\Java\jre7\bin\java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"

6-cd out e creare una directory link javapath che punta al javapath desiderato. Ad esempio.: mklink /D javapath javapath_1.7

7 - Aprire il registro e modificare la chiave HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment \ CurrentVersion per avere il valore 1.7

A questo punto se si esegue java -version si dovrebbe vedere che si sta utilizzando Java versione 1.7:

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

8 - Infine è una buona idea creare la variabile d'ambiente JAVA_HOME. Per fare ciò creo un collegamento alla directory chiamato CurrentVersion in C:\Program Files \ Java che punta alla versione Java a cui sono interessato. Ad esempio:

cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71

9-E una volta fatto questo:

  • Fare clic con il pulsante destro del mouse su Risorse del computer e selezionare Proprietà.
  • Nella scheda Avanzate, selezionare Variabili di ambiente, quindi modificare/creare JAVA_HOME per indicare dove si trova il software JDK, in tal caso, C:\Program File \ Java \ CurrentVersion
 58
Author: Mia, 2015-01-15 12:12:53

Da Java 1.6, un java.exe è installato in % windir% \ system32 che supporta un'opzione della riga di comando "- version". È possibile utilizzare questo per selezionare una versione specifica da eseguire, ad esempio:

java -version:1.7 -jar [path to jar file]

Eseguirà un'applicazione jar in java 1.7, se è installata.

Vedere la documentazione di Oracle qui: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

 25
Author: Jules, 2012-11-21 13:03:41

Una volta aggiornato la mia versione Java a 8 come suggerito dal browser. Tuttavia avevo scelto di disinstallare la versione precedente di Java 6 che sono stato usato per codificare i miei progetti. Quando inserisco il comando in "java-version" in cmd ha mostrato 1.8 e non ho potuto avviare eclipse IDE su Java 1.6.

Quando ho installato Java 8 update per il browser aveva cambiato la variabile di sistema" PATH "aggiungendo" C:\ProgramData\Oracle\Java\javapath " all'inizio. Percorso appena aggiunto puntato su Java vesione 8. Così ho rimosso quel percorso dalla variabile di sistema" PATH " e tutto ha funzionato bene. :)

 6
Author: Asanka Siriwardena, 2014-11-17 06:17:55

Vai al pannello di controllo > > Java È possibile selezionare la versione attiva qui

 4
Author: Shazia Tabassum, 2014-01-21 07:01:07

Tutto ciò che devi fare è impostare la variabile d'ambiente PATH in Windows per indicare dove si trova la directory java6 bin invece della directory java7.

Fare clic con il pulsante destro del mouse su Risorse del computer > Impostazioni di sistema avanzate > Avanzate > Variabili ambientali

Se c'è una variabile d'ambiente JAVA_HOME imposta questa per puntare anche alla directory corretta.

 3
Author: David Young, 2010-07-26 09:24:34

Aggiorna le variabili di ambiente

Assicurarsi che il riferimento a java/bin sia aggiornato in 'Path'; Questo può essere automatico se si dispone di JAVA_HOME o set equivalente. Se JAVA_HOME è impostato, è sufficiente aggiornarlo per fare riferimento alla vecchia installazione di JRE.

 0
Author: Syntax, 2010-07-26 09:23:33

Se si utilizza Windows 10 o Windows Server 2012, la procedura per modificare la versione di Java runtime è la seguente:

  1. Apri regedit usando'Esegui'
  2. Passare a HKEY_LOCAL_MACHINE - > SOFTWARE - > JavaSoft - > Java Runtime Environment
  3. Qui vedrai tutte le versioni di java che hai installato sul tuo PC. Per me ho diverse versioni di java 1.8 installate, quindi le cartelle visualizzate qui sono 1.8, 1.8.0_162 e 1.8.0_171
  4. Fare clic sulla cartella '1.8' , quindi fare doppio clic sul JavaHome e RuntimeLib chiavi, Modificare il numero di versione all'interno di qualsiasi versione di Java che si desidera che il PC per l'esecuzione su. Ad esempio, se i dati di valore della chiave sono 'C:\Program Files\Java\jre1. 8. 0_171', puoi cambiarlo in 'C:\Program File \ Java \ jre1.8.0_162'.
  5. È quindi possibile verificare la modifica della versione digitando 'java-version' sulla riga di comando.
 0
Author: Harvey Lin, 2018-05-24 16:54:21