Passer à java 11 à partir de java 8
J'ai téléchargé et installé oraclejdk11 à partir du site officiel oracle et modifié PATH & JAVA_HOME variable dans la variable d'environnement système sous Windows
C:\Users\Aviral > javac-version
Javac 11.0.1
C:\Users\Aviral > java-version
Version Java "1.8.0_102"
J'ai besoin d'un environnement d'exécution Java(TM) SE (build 1.8.0_102-b14)Java HotSpot (TM) serveur virtuel 64 bits (build 25.102-b14, mode mixte)
Je sais que jdk11 ne contient pas jre mais comment puis-je exécuter un programme java à partir de cmd en java 11
4 answers
Le JDK inclut le JRE que vous pouvez lancer en utilisant l'exécutable java
dans le dossier bin
. Vous utilisez cet exécutable comme n'importe quel autre exécutable.
Lorsque vous tapez java
dans la ligne de commande, il s'agit en fait d'un raccourci. Il recherche votre PATH
jusqu'à ce qu'il trouve le premier exécutable java
correspondant. Si vous souhaitez spécifier un autre exécutable java
, vous pouvez donner le chemin absolu vers l'exécutable.
C:\Users\Avril> "C:\Program Files\Java\jdk-11.0.1\bin\java" -jar path\to\file.jar
Vous vous demandez peut-être si vous avez défini JAVA_HOME
et {[4] } pour pointer pour JDK-11, pourquoi java -version
utilise-t-il toujours Java 8?
Jetez un oeil à votre PATH
et vous trouverez probablement quelque chose comme C:\ProgramData\Oracle\Java\javapath
comme l'une des premières entrées (voir ce). Cette entrée a été ajoutée automatiquement lorsque vous avez installé Java 8 et pointe vers les exécutables Java 8(java
, javaw
, et javaws
). Puisqu'il est avant votre entrée %JAVA_HOME%\bin
, il a priorité. Cependant, ...\javapath
ne contient pas javac
et c'est pourquoi javac -version
a utilisé JAVA_HOME
(Java 11).
Le dossier Bin contient tous les outils JRE traditionnels. Dans Java 11, les outils JDK et JRE sont consolidés afin qu'il n'y ait pas de JRE dans JDK 11.
Pour exécuter un programme à partir d'un autre dossier que bin en utilisant java 11, vous devez définir le chemin JAVA_HOME comme suit à partir de CMD :
Ouvrir CMD en tant qu'administrateur
Définissez JAVA_HOME sur le dossier JDK 11 bin
setx -m JAVA_HOME "C:\Program File\Java\..."
J'ai mis à niveau vers JDK 11 à partir de JDK 8. Après avoir ajouté Java 11 au chemin [ chemin du point jusqu'à
Bin foler] et JAVA_HOME [uniquement jusqu'au dossier jdk (n'incluez pas bin ) ]
Avec Succès,
java -version
pointait toujours vers la version java précédente (java 8 dans mon cas.)
Ensuite, j'ai exécuté une commande "setx -m JAVA_HOME "C:\Program Files\Java\jdk-11.0.7"
Maintenant java -version
ou javac -version
les deux montre java 11.
J'espère que cela vous aidera aussi.