Modifica della versione corrente di Java in Windows


16

Sto lavorando in un ambiente Windows XP e di recente ho installato Java 1.6 perché era richiesto da un'applicazione.

Tuttavia, non voglio che questa sia la versione predefinita di Java da utilizzare. Come posso impostarlo in modo che il comando java -version restituisca 1.5.x


Vorrei dare un'occhiata alla pathvariabile d'ambiente. È possibile esaminare in linea di comando con: echo %PATH%. Si tratta di cartelle predefinite in cui vengono cercati i file binari. Se trovi un percorso per JAVA, puoi regolarlo facilmente in Preferenze di Sistema.
Rekin,

Risposte:


21

Cambia la tua variabile PATH in modo che abbia la posizione della directory jdk5 / bin:

  1. Start -> Pannello di controllo -> Sistema -> Avanzate
  2. Fare clic su Variabili d'ambiente, in Variabili di sistema, trovare PERCORSO e fare clic su di esso.
  3. Nelle finestre Modifica, modifica il PERCORSO aggiungendo all'inizio la posizione della directory jdk5 / bin. Se non si dispone dell'elemento PATH, è possibile selezionare di aggiungere una nuova variabile e aggiungere PATH come nome e la posizione della directory come valore.
  4. Chiudi la finestra.
  5. Riapri la finestra del prompt dei comandi ed esegui java -version

Non ha funzionato. Il jre bin non faceva precedentemente parte del percorso, quindi deve essere impostato altrove.
Dunc,

9
Questo perché quando si installa Java, i bin vengono inseriti in C: \ WINDOWS \ system32, che fa parte del PERCORSO. È necessario aggiungere la directory jre / bin all'inizio del PERCORSO.
dogbane,

Spiacenti, non ho individuato la parte iniziale. Grazie
Dunc il

3
Se sono installati più JRE, l'unico modo per ottenere ciò è cambiare la voce del registro. Soprattutto perché esistono strumenti che leggono le informazioni JRE dal registro e non il percorso della classe.
Ayusman,

17

Nella shell dei comandi:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Ciò imposterà temporaneamente l'ambiente nella shell dei comandi. Maven, Ant, ecc. Riprenderanno la tua nuova versione di Java senza dover andare ripetutamente al Pannello di controllo.

Strumenti come Eclipse dovrebbero essere in grado di selezionare quale JDK utilizzare nei propri strumenti di configurazione da utilizzare all'interno dei propri ambienti.


6

Java 8 crea tre scorciatoie su \ ProgramData \ Oracle \ Java \ javapath che puntano all'ultima Java8 java.exe, javaw.exe e javaws.exe e quindi mette \ ProgramData \ Oracle \ Java \ javapath in primo piano nel PATH in modo che qualunque cosa tu faccia alla variabile d'ambiente JAVA_PATH, ottieni ancora l'ultimo Java 8.

Puoi aggirare questo

1) rinominare \ ProgramData \ Oracle \ Java \ javapath in qualcos'altro (\ ProgramData \ Oracle \ Java \ javapath8 per esempio)

2) creazione di una nuova cartella javapath in Java e

3) creare le scorciatoie di cui hai bisogno.

Basta ripristinare javapath quando hai finito con le vecchie versioni e riavvii Java 8.


1
Bene, puoi sempre posizionare la tua vecchia posizione Java nel PERCORSO, in primo luogo, e vincerà.
leonbloy,

Breve, ma al punto, ottima risposta, questa spiega in modo più specifico come generare più versioni di javapathcartelle, usando collegamenti simbolici, in modo da poter passare senza tempo tra le versioni e le cose del registro che mancano qui, schermate e trucchi per evitare il riavvio anche dopo le modifiche. vedi stackoverflow.com/questions/27996603 .

3

Esistono due modi per risolvere questo problema:

1) Cambia il PERCORSO (come qualcuno ha già detto) L'importante di questa soluzione è impostare JAVA_HOME prima dei percorsi di Windows. Questo perché nella cartella Windows è presente un java.exe che reindirizza all'ultimo jre installato .

2) Regedit. La chiave HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment contiene l'ultima versione installata a cui reindirizza java.exe nella cartella Windows. Se lo cambi a una versione precedentemente installata, tutto dovrebbe essere peachy. (Almeno, penso che questa sia la chiave di registro corretta)


1

L'ultima versione di JRE che hai sempre ha la precedenza su qualsiasi impostazione PATH. Quindi, per essere sicuri, disinstallare 1.6 JRE se non si desidera che sia quello principale. È possibile avere un numero qualsiasi di JDK installati in parallelo.


1

Poiché Java supporta -versionun'opzione della riga di comando, è possibile utilizzarla 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.

Per ulteriori dettagli, consultare la documentazione di Oracle .


@Jawa questo java -version:1.7 -jar [path to jar file]non è più supportato. Potrebbe essere necessario seguire il percorso PERCORSO Saluti.
Adeola Ojo,

0

Crea un file "setjava.bat" e salva questo file con il contenuto seguente e non dimenticare di cambiare JAVA_PATH per il tuo sistema. Inoltre, ricorda di salvare questo file con estensione .bat.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Ora esegui questo script con i privilegi di amministratore.

Esempio: setjava 8, setjava 7

Controlla questo link per maggiori dettagli

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.