Quelles variables d'environnement? Le chemin de classe et JAVA_HOME? Quelle plateforme (Linux / Windows)? Veuillez élaborer
Wernsey
22
Je suis seul à penser que c'est trop boiteux que l'installateur java ne mette pas à jour automatiquement la variable d'environnement path?
Thomas Eyde
2
@ThomasEyde - le seul problème avec cette idée est que si je veux plusieurs JVM sur ma machine - la définition automatique du chemin entraînerait alors des problèmes.
Richard Le Mesurier
3
@Richard Le Mesurier: Il suffit d'avoir une case à cocher "définir comme nouvelle machine
virtuelle Java
commentant pour référence
Asker123
Réponses:
395
Kit de développement Java SE 8u112 sur Windows 7 ou Windows 8 64 bits
Définissez les variables d'environnement utilisateur suivantes (== variables d'environnement de type variables utilisateur )
JAVA_HOME :C:\Program Files\Java\jdk1.8.0_112
JDK_HOME :%JAVA_HOME%
JRE_HOME :%JAVA_HOME%\jre
CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
PATH :your-unique-entries;%JAVA_HOME%\bin(assurez-vous que le longish your-unique-entriesne contient aucune autre référence à un autre dossier d'installation Java.
Remarque pour les utilisateurs de Windows sur les systèmes 64 bits:
Notez que ces variables d'environnement sont dérivées de la variable d'environnement "racine" JAVA_HOME. Cela facilite la mise à jour de vos variables d'environnement lors de la mise à jour du JDK. Indiquez simplement JAVA_HOMEla nouvelle installation.
Ajoutez une variable d'environnement utilisateurJAVA_TOOL_OPTIONS avec une valeur -Dfile.encoding="UTF-8". Cela garantit que Java (et des outils tels que Maven ) fonctionneront avec un Charset.defaultCharset()de UTF-8(au lieu de la valeur par défaut Windows-1252). Cela a permis d'économiser beaucoup de maux de tête lors de la connexion avec mon propre code et celui des autres, qui supposent malheureusement souvent le codage par défaut (sain) UTF-8 .
Lorsque JDK est installé, il ajoute à la variable d'environnement systèmePath une entrée C:\ProgramData\Oracle\Java\javapath;. J'ai remarqué de façon anecdotique que les liens dans ce répertoire n'ont pas été mis à jour lors d'une mise à jour de l'installation JDK. Il est donc préférable de supprimer C:\ProgramData\Oracle\Java\javapath;de la Pathvariable d'environnement système afin d'avoir un environnement cohérent.
Bonne réponse. Je fais également une jonction de répertoire à mon installation java que je peux mettre à jour chaque fois que j'installe une nouvelle version ( mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91"). De cette façon, lorsque j'utilise cygwin ou quelque chose qui ne peut pas lire les variables env de Windows, j'ai toujours un moyen rapide d'échanger des versions. Et il est beaucoup plus facile de se souvenir du chemin le plus court sans la version mineure.
kghastie du
J'ai essayé de définir une variable JAVA_ROOT_PATH mais JAVA_HOME ne semblait pas aimer que j'utilise une variable d'environnement pour sa valeur. Y a-t-il une raison à cela?
Eric
3
Le javapathrépertoire et les liens symboliques sont créés par l'installation de JRE (qui est un processus facultatif lors de l'installation du JDK), donc si vous n'avez pas installé le JRE, vous n'auriez pas créé javapath. Notez que le %JAVA_HOME%\jredans votre réponse est le JRE privé du JDK destiné à l'utilisation du compilateur Java. Ce n'est pas exactement la même chose que le JRE public. Notez également qu'à partir de la version 1.8u112, l'installation de JRE semble avoir cessé de créer des liens symboliques dans javapathet crée des liens durs vers .exes dans ..\javapath_target_nnnnnnn\*.exe.
Klitos Kyriacou
3
Le cadre me convient bien. Comme il n'y a pas de dossier jre sur jdk 11, je supprime la variable JRE_HOME ainsi que la valeur% JAVA_HOME% \ jre \ lib dans la variable CLASSPATH. Pour plus d'informations sur jdk 11 sans jre: stackoverflow.com/questions/52584888/…
Huanfa Chen
66
Dans Windows pour définir
Étape 1: Faites un clic droit sur MyComputer et cliquez sur les propriétés.
Étape 2: cliquez sur l'onglet Avancé
Étape 3: cliquez sur Variables d'environnement
Étape 4: créer un nouveau chemin de classe pour JAVA_HOME
Étape 5: Entrez le nom de la variable comme JAVA_HOME et la valeur de votre chemin bin jdk, c'est-à-dire c: \ Programfiles \ Java \ jdk-1.6 \ bin et
REMARQUE Assurez-vous que vous commencez par .;dans la valeur afin qu'il ne corrompe pas les autres variables d'environnement qui sont déjà définies.
Étape 6 : Suivez l'étape ci-dessus et modifiez le chemin dans les variables système, ajoutez ce qui suit ;c:\Programfiles\Java\jdk-1.6\bindans la colonne de valeur.
Étape 7 : Vous avez terminé de configurer vos variables d'environnement pour votre Java. Pour le tester, allez à l'invite de commande et tapez
java
qui obtiendra une liste de documents d'aide
Pour vous assurer que le compilateur est configuré, tapez cmd
Belle explication. Une petite chose à l'étape 6: ne tapez pas $javaou $javac, mais juste javaou javac.
Jesper
1
Et notez que vous devez ajouter le répertoire bin JDK à la PATHvariable d'environnement; le réglage JAVA_HOMEn'est pas suffisant.
Jesper
1
ouais désolé depuis que je suis un amoureux de Linux. j'ai raté ça va le changer, merci
Srinivas MV
3
1. utilisez des barres obliques inverses dans WINDOWS 2. ne démarrez aucun chemin avec ".;" 3. ajoutez% JAVA_HOME% \ bin au chemin, comme ça vous pourrez plus tard changer le java_home sans avoir à changer le chemin
raudi
1
@Wannacoffee Mise à jour des changements pour les contre
Srinivas MV
27
--- Pour définir le chemin java ---
Il existe deux façons de définir le chemin java
Un temporaire
Ouvrir cmd
Écrivez en cmd: javac
Si java n'est pas installé, vous verrez un message:
javac n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier de commandes .
Écrivez en cmd: set path=C:\Program Files\Java\jdk1.8.0_121\bin
Écrivez en cmd: javac
Vous pouvez vérifier que le chemin est défini si aucune erreur n'a été déclenchée.
Il est important de noter que ces modifications ne sont que temporaires à partir des programmes lancés à partir de cette cmd.
REMARQUE: vous devrez peut-être exécuter la ligne de commande en tant qu'administrateur
B. Permanent
Faites un clic droit sur "Mon ordinateur" et cliquez sur les propriétés
Cliquez sur "Paramètres système avancés"
Cliquez sur "Variables d'environnement"
Cliquez sur le nouvel onglet de la variable utilisateur
Ecrire pathdansvariable name
Copiez le chemin du dossier bin
Collez le chemin du dossier bin dans levariable value
Cliquez OK
Le chemin est désormais défini de façon permanente.
CONSEIL: L'outil "Rapid Environment Editor" (freeware) est idéal pour modifier les variables d'environnement et utile dans ce cas
CONSEIL2: Il existe également un moyen plus rapide d'accéder aux variables d'environnement: appuyez sur les touches Win+ R, collez ce qui suit %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariableset appuyez surENTER
Sous Windows 7, cliquez avec le bouton droit sur Ordinateur -> Propriétés -> Paramètres système avancés ; puis dans l' avancée onglet, cliquez sur Variables d' environnement ... -> Variables système -> Nouveau ... .
Donnez à la nouvelle variable système le nom JAVA_HOMEet la valeur C:\Program Files\Java\jdk1.7.0_79(en fonction de votre chemin d'installation JDK, elle varie).
Sélectionnez ensuite la Pathvariable système et cliquez sur Modifier ... . Conservez le nom de variable as Pathet ajoutez C:\Program Files\Java\jdk1.7.0_79\bin;ou %JAVA_HOME%\bin;(les deux signifient la même chose) à la valeur de la variable.
Une fois que vous avez terminé les modifications ci-dessus, essayez les étapes ci-dessous. Si vous ne voyez pas de résultats similaires, redémarrez l'ordinateur et réessayez. Si cela ne fonctionne toujours pas, vous devrez peut-être réinstaller JDK.
Ouvrez une invite de commande Windows (touche Windows + R-> entrez cmd-> OK ) et vérifiez les points suivants:
java -version
Vous verrez quelque chose comme ceci:
java version "1.7.0_79"Java(TM) SE RuntimeEnvironment(build 1.7.0_79-b15)JavaHotSpot(TM)64-BitServer VM (build 24.79-b02, mixed mode)
Normalement, vous ne devez pas définir la CLASSPATHvariable d'environnement. Si vous ne le laissez pas défini, Java cherchera dans le répertoire courant pour trouver les classes. Vous pouvez utiliser le -cpou -classpathcommutateur de ligne de commande avec javaou javac.
+1 pour "Normalement, vous ne devez pas définir la variable d'environnement CLASSPATH.".
BalusC
5
Je vais expliquer ici par des images pour Windows 7.
Veuillez suivre les étapes suivantes:
Étape 1: Allez dans "Démarrer" et accédez aux propriétés "Poste de travail"
Étape 2: Allez dans "Paramètres système avancés" et cliquez dessus.
Étape 3: Allez dans "Démarrer" et accédez aux propriétés "Poste de travail"
Étape 4: La boîte de dialogue pour la variable d'environnement s'ouvrira comme ceci:
Étape 5: Accédez au chemin et cliquez sur modifier.
Étape 6: placez le chemin de votre JDK où qu'il se trouve dans le bac comme vous pouvez le voir sur l'image. Ajoutez également le chemin depuis votre SDK d'Android jusqu'aux outils de la plateforme:
Dans le contexte de programmation, vous pouvez exécuter la commande SET (SET classpath = c: \ java) ou un clic droit sur votre ordinateur> propriétés> avancées> variables d'environnement.
Impossible de comprendre la deuxième ligne. Qu'est-ce que ça veut dire?
St.Shadow
3
Pour les utilisateurs de Windows 7:
Cliquez avec le bouton droit sur Poste de travail, sélectionnez Propriétés; Avancée; Les paramètres du système; Avancée; Variables d'environnement. Recherchez ensuite PATH dans la deuxième case et définissez la variable comme dans l'image ci-dessous.
N'oubliez pas que la %CLASSPATH%variable d'environnement est ignorée lorsque vous utilisez java / javac en combinaison avec l'un des arguments -cp, -classpathou -jar. Il est également ignoré dans un IDE comme Netbeans / Eclipse / IntelliJ / etc. Il est seulement été utilisé lorsque vous utilisez java / javac sans aucun des arguments mentionnés ci - dessus.
Dans le cas de fichiers JAR, le chemin d' class-pathaccès aux classes doit être défini comme entrée dans le fichier manifest.mf. Il peut être défini séparé par des points-virgules et relatif à la racine du fichier JAR.
Dans le cas d'un IDE, vous avez le soi-disant «chemin de génération» qui est fondamentalement le chemin de classe qui est utilisé à la fois au moment de la compilation et à l'exécution. Pour ajouter des bibliothèques externes, vous déposez généralement le fichier JAR dans un dossier (soit précréé par IDE ou créé de manière personnalisée) libdu projet qui est ajouté au chemin de génération du projet.
@Balus, c'est un débutant qui essaie de configurer son environnement java sur un PC Windows.
Srinivas MV
1
Exactement. Celui qui serait très confus quand il découvrirait que le chemin de classe qu'il a configuré ne fonctionne pas pour les fichiers JAR ni les IDE. Juste un avertissement à sa place :)
BalusC
1
Pour le déploiement, il est préférable de configurer exactement le chemin de classe et de garder l'environnement clair. Ou à * .bat (le même pour linux, mais avec des symboles de variables corrects):
Faites un clic droit sur «Mes ordinateurs» et ouvrez «Propriétés».
Sous Windows Vista ou Windows 7, accédez à "Paramètres système avancés". Sinon, passez à l'étape suivante.
Allez dans 'Advanced Tab' et cliquez sur le Environment Variablesbouton.
Sélectionnez «Chemin» dans la liste des «Variables système», puis appuyez sur Editet ajoutez C:\Program Files\java\jdk\binaprès un point-virgule.
Maintenant, cliquez sur le bouton 'nouveau' sous les variables système et entrez 'JAVA_HOME' comme nom de variable et chemin vers le répertoire de base jdk (ex. 'C: \ Program Files \ Java \ jdk1.6.0_24' si vous installez java version 6. Répertoire le nom peut changer avec les différentes versions java) en tant que variable_value.
Réponses:
Kit de développement Java SE 8u112 sur Windows 7 ou Windows 8 64 bits
Définissez les variables d'environnement utilisateur suivantes (== variables d'environnement de type variables utilisateur )
JAVA_HOME :
C:\Program Files\Java\jdk1.8.0_112
JDK_HOME :
%JAVA_HOME%
JRE_HOME :
%JAVA_HOME%\jre
CLASSPATH :
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
PATH :
your-unique-entries;%JAVA_HOME%\bin
(assurez-vous que le longishyour-unique-entries
ne contient aucune autre référence à un autre dossier d'installation Java.Notez que ces variables d'environnement sont dérivées de la variable d'environnement "racine"
JAVA_HOME
. Cela facilite la mise à jour de vos variables d'environnement lors de la mise à jour du JDK. Indiquez simplementJAVA_HOME
la nouvelle installation.Un article de blog explique la raison d'être de toutes ces variables d'environnement .
Recommandations facultatives
JAVA_TOOL_OPTIONS
avec une valeur-Dfile.encoding="UTF-8"
. Cela garantit que Java (et des outils tels que Maven ) fonctionneront avec unCharset.defaultCharset()
deUTF-8
(au lieu de la valeur par défautWindows-1252
). Cela a permis d'économiser beaucoup de maux de tête lors de la connexion avec mon propre code et celui des autres, qui supposent malheureusement souvent le codage par défaut (sain) UTF-8 .Path
une entréeC:\ProgramData\Oracle\Java\javapath;
. J'ai remarqué de façon anecdotique que les liens dans ce répertoire n'ont pas été mis à jour lors d'une mise à jour de l'installation JDK. Il est donc préférable de supprimerC:\ProgramData\Oracle\Java\javapath;
de laPath
variable d'environnement système afin d'avoir un environnement cohérent.la source
mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91"
). De cette façon, lorsque j'utilise cygwin ou quelque chose qui ne peut pas lire les variables env de Windows, j'ai toujours un moyen rapide d'échanger des versions. Et il est beaucoup plus facile de se souvenir du chemin le plus court sans la version mineure.javapath
répertoire et les liens symboliques sont créés par l'installation de JRE (qui est un processus facultatif lors de l'installation du JDK), donc si vous n'avez pas installé le JRE, vous n'auriez pas créé javapath. Notez que le%JAVA_HOME%\jre
dans votre réponse est le JRE privé du JDK destiné à l'utilisation du compilateur Java. Ce n'est pas exactement la même chose que le JRE public. Notez également qu'à partir de la version 1.8u112, l'installation de JRE semble avoir cessé de créer des liens symboliques dansjavapath
et crée des liens durs vers .exes dans..\javapath_target_nnnnnnn\*.exe
.Dans Windows pour définir
Étape 1: Faites un clic droit sur MyComputer et cliquez sur les propriétés.
Étape 2: cliquez sur l'onglet Avancé
Étape 3: cliquez sur Variables d'environnement
Étape 4: créer un nouveau chemin de classe pour JAVA_HOME
Étape 5: Entrez le nom de la variable comme JAVA_HOME et la valeur de votre chemin bin jdk, c'est-à-dire c: \ Programfiles \ Java \ jdk-1.6 \ bin et
REMARQUE Assurez-vous que vous commencez par
.;
dans la valeur afin qu'il ne corrompe pas les autres variables d'environnement qui sont déjà définies.Étape 6 : Suivez l'étape ci-dessus et modifiez le chemin dans les variables système, ajoutez ce qui suit
;c:\Programfiles\Java\jdk-1.6\bin
dans la colonne de valeur.Étape 7 : Vous avez terminé de configurer vos variables d'environnement pour votre Java. Pour le tester, allez à l'invite de commande et tapez
qui obtiendra une liste de documents d'aide
Pour vous assurer que le compilateur est configuré, tapez cmd
qui obtiendra une liste relative à javac
J'espère que cela t'aides !
la source
$java
ou$javac
, mais justejava
oujavac
.PATH
variable d'environnement; le réglageJAVA_HOME
n'est pas suffisant.--- Pour définir le chemin java ---
Il existe deux façons de définir le chemin java
Un temporaire
javac
Si java n'est pas installé, vous verrez un message:
set path=C:\Program Files\Java\jdk1.8.0_121\bin
javac
Vous pouvez vérifier que le chemin est défini si aucune erreur n'a été déclenchée.
Il est important de noter que ces modifications ne sont que temporaires à partir des programmes lancés à partir de cette cmd.
REMARQUE: vous devrez peut-être exécuter la ligne de commande en tant qu'administrateur
B. Permanent
path
dansvariable name
variable value
Le chemin est désormais défini de façon permanente.
CONSEIL: L'outil "Rapid Environment Editor" (freeware) est idéal pour modifier les variables d'environnement et utile dans ce cas
CONSEIL2: Il existe également un moyen plus rapide d'accéder aux variables d'environnement: appuyez sur les touches Win+ R, collez ce qui suit
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
et appuyez surENTERla source
Sous Windows 7, cliquez avec le bouton droit sur Ordinateur -> Propriétés -> Paramètres système avancés ; puis dans l' avancée onglet, cliquez sur Variables d' environnement ... -> Variables système -> Nouveau ... .
Donnez à la nouvelle variable système le nom
JAVA_HOME
et la valeurC:\Program Files\Java\jdk1.7.0_79
(en fonction de votre chemin d'installation JDK, elle varie).Sélectionnez ensuite la
Path
variable système et cliquez sur Modifier ... . Conservez le nom de variable asPath
et ajoutezC:\Program Files\Java\jdk1.7.0_79\bin;
ou%JAVA_HOME%\bin;
(les deux signifient la même chose) à la valeur de la variable.Une fois que vous avez terminé les modifications ci-dessus, essayez les étapes ci-dessous. Si vous ne voyez pas de résultats similaires, redémarrez l'ordinateur et réessayez. Si cela ne fonctionne toujours pas, vous devrez peut-être réinstaller JDK.
Ouvrez une invite de commande Windows (touche Windows + R-> entrez
cmd
-> OK ) et vérifiez les points suivants:Vous verrez quelque chose comme ceci:
Vérifiez ensuite les points suivants:
Vous verrez quelque chose comme ceci:
la source
Les instructions d'installation de JDK expliquent exactement comment définir le
PATH
, pour différentes versions de Windows.Normalement, vous ne devez pas définir la
CLASSPATH
variable d'environnement. Si vous ne le laissez pas défini, Java cherchera dans le répertoire courant pour trouver les classes. Vous pouvez utiliser le-cp
ou-classpath
commutateur de ligne de commande avecjava
oujavac
.la source
Je vais expliquer ici par des images pour Windows 7.
Veuillez suivre les étapes suivantes:
Étape 1: Allez dans "Démarrer" et accédez aux propriétés "Poste de travail"
Étape 2: Allez dans "Paramètres système avancés" et cliquez dessus.
Étape 3: Allez dans "Démarrer" et accédez aux propriétés "Poste de travail"
Étape 4: La boîte de dialogue pour la variable d'environnement s'ouvrira comme ceci:
Étape 5: Accédez au chemin et cliquez sur modifier.
Étape 6: placez le chemin de votre JDK où qu'il se trouve dans le bac comme vous pouvez le voir sur l'image. Ajoutez également le chemin depuis votre SDK d'Android jusqu'aux outils de la plateforme:
la source
Dans le contexte de programmation, vous pouvez exécuter la commande SET (SET classpath = c: \ java) ou un clic droit sur votre ordinateur> propriétés> avancées> variables d'environnement.
Dans un fichier batch, vous pouvez utiliser
la source
Pour les utilisateurs de Windows 7:
Cliquez avec le bouton droit sur Poste de travail, sélectionnez Propriétés; Avancée; Les paramètres du système; Avancée; Variables d'environnement. Recherchez ensuite PATH dans la deuxième case et définissez la variable comme dans l'image ci-dessous.
la source
Sous Linux: http://lowfatlinux.com/linux-environment-variables.html
Et bien sûr, vous pouvez les récupérer depuis Java en utilisant:
la source
Définir la variable d'environnement java dans Centos / Linux
/ home / vi .bashrc
export JAVA_HOME = / opt / oracle / product / java / jdk1.8.0_45
export PATH = $ JAVA_HOME / bin: $ PATH
java -version
la source
N'oubliez pas que la
%CLASSPATH%
variable d'environnement est ignorée lorsque vous utilisez java / javac en combinaison avec l'un des arguments-cp
,-classpath
ou-jar
. Il est également ignoré dans un IDE comme Netbeans / Eclipse / IntelliJ / etc. Il est seulement été utilisé lorsque vous utilisez java / javac sans aucun des arguments mentionnés ci - dessus.Dans le cas de fichiers JAR, le chemin d'
class-path
accès aux classes doit être défini comme entrée dans le fichier manifest.mf. Il peut être défini séparé par des points-virgules et relatif à la racine du fichier JAR.Dans le cas d'un IDE, vous avez le soi-disant «chemin de génération» qui est fondamentalement le chemin de classe qui est utilisé à la fois au moment de la compilation et à l'exécution. Pour ajouter des bibliothèques externes, vous déposez généralement le fichier JAR dans un dossier (soit précréé par IDE ou créé de manière personnalisée)
lib
du projet qui est ajouté au chemin de génération du projet.la source
Pour le déploiement, il est préférable de configurer exactement le chemin de classe et de garder l'environnement clair. Ou à * .bat (le même pour linux, mais avec des symboles de variables corrects):
Ou en ligne de commande ou * .bat (pour * .sh aussi) si l'ID du chemin de classe n'est pas très long:
la source
Pour les fenêtres:
C:\Program Files\java\jdk\bin
après un point-virgule.la source
la source