Passaggio a java 11 da java 8
Ho scaricato e installato oraclejdk11 dal sito ufficiale di oracle e modificato la variabile PATH & JAVA_HOME nella variabile di ambiente di sistema su Windows
C:\Users\Aviral > javac-versione
Javac 11.0.1
C:\Users\Aviral > java-versione
Versione Java "1.8.0_102"
Java (TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) VM server a 64 bit (build 25.102-b14, modalità mista)
Lo so quel jdk11 non contiene jre ma come posso eseguire un programma java da cmd in java 11
4 answers
Il JDK include il JRE che è possibile avviare utilizzando l'eseguibile java
nella cartella bin
. Si utilizza questo eseguibile proprio come qualsiasi altro eseguibile.
Quando si digita java
nella riga di comando è in realtà stenografia. Cerca il tuo PATH
finché non trova il primo eseguibile java
corrispondente. Se si desidera specificare un eseguibile java
diverso, è possibile fornire il percorso assoluto dell'eseguibile.
C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar
Ti starai chiedendo se hai impostato JAVA_HOME
e PATH
su punto per JDK-11, perché java -version
usa ancora Java 8?
Dai un'occhiata al tuo PATH
e probabilmente troverai qualcosa come C:\ProgramData\Oracle\Java\javapath
come una delle prime voci (vedi questo ). Questa voce è stata aggiunta automaticamente quando è stato installato Java 8 e punta agli eseguibili Java 8(java
, javaw
, e javaws
). Poiché è prima della tua voce %JAVA_HOME%\bin
, ha la precedenza. Tuttavia, ...\javapath
non contiene javac
ed è per questo che javac -version
ha usato JAVA_HOME
(Java 11).
La cartella Bin contiene tutti gli strumenti JRE tradizionali. In Java 11, sia gli strumenti JDK che JRE sono consolidati in modo che non ci sia JRE all'interno di JDK 11.
Per eseguire il programma da un'altra cartella rispetto a bin utilizzando java 11 è necessario impostare il percorso JAVA_HOME come segue da CMD :
Apri CMD come amministratore
Imposta JAVA_HOME alla cartella bin JDK 11
setx -m JAVA_HOME "C:\Program File\Java\..."
Ho aggiornato a JDK 11 da JDK 8. Dopo aver aggiunto Java 11 al percorso [ percorso punto fino a
Bin foler] e JAVA_HOME [ solo fino alla cartella jdk (non includere bin ) ]
Con successo,
java -version
stava ancora puntando alla versione java precedente (java 8 nel mio caso.)
Quindi, ho eseguito un comando "setx -m JAVA_HOME "C:\Program Files\Java\jdk-11.0.7"
Ora java -version
o javac -version
entrambi mostrano java 11.
Spero che ti aiuti anche.