2016-08-06 1 views
0

J'ai défini des variables de chemin.La commande 'java' fonctionne mais 'javac' ne fonctionne pas

Variable: JAVA_HOME 
Value: C:\Program Files\Java\jdk1.8.0_101 
Path: C:\ProgramData\Oracle\Java\javapath; 

Quand je lance des commandes 'java -version', la sortie est

java version "1.8.0_102" 
Java(TM) SE Runtime Environment (build 1.8.0_102-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode) 

Mais quand je tape 'javac -version', sortie est

'javac' is not recognized as an internal or external command, 
operable program or batch file. 

Pourquoi javac ic pas reconnu ? PS: J'ai redémarré mon PC plusieurs fois.

+0

Pouvez-vous exécuter '' 'C: \ Program Files \ Java \ jdk1.8.0_101 \ bin \ javac.exe -version'' '? Pouvez-vous ajouter C: \ Program Files \ Java \ jdk1.8.0_101 \ bin à votre variable d'environnement PATH. Ensuite, démarrez un nouveau shell. Vous n'avez pas besoin de redémarrer. – pmcevoy12

+0

@ pmcevoy12 Sortie: 'C: \ Program' n'est pas reconnu comme une commande interne ou externe, un fichier exécutable ou un fichier séquentiel. – rohit15079

+0

@ rohit15079: Donc: '" C: \ Program Files \ Java \ jdk1.8.0_101 \ bin \ javac.exe "-version' (notez les guillemets). Juste comme n'importe quelle autre fois vous avez un nom de fichier avec un espace dedans et voulez l'employer sur la ligne de commande. –

Répondre

2

Il semble que vous ayez installé à la fois un JRE séparé et un JDK de versions différentes, et que votre chemin d'accès ne comprenne que le répertoire bin du JRE. Vous avez indiqué JAVA_HOME en incluant la version 1.8.0_101, mais la sortie -version que vous voyez indique 1.8.0_102, donc elle ne provient pas clairement de cette installation.

Je vous suggère de trouver et de désinstaller le JRE 1.8.0_101, puis de mettre à jour votre PATH pour inclure les deux répertoires bin dans l'installation du JDK. L'un d'eux sera basepath\jdk\bin, l'autre sera basepath\jdk\jre\bin. Incluez-les dans cet ordre (JDK d'abord). Ensuite, assurez-vous que JAVA_HOME pointe vers cette installation.


Après avoir installé juste 1.8.0_101 sur une JDK machine Windows que j'avais à portée de main, je peux confirmer qu'il ajoute le répertoire JRE bin sur le chemin, mais pas le répertoire JDK bin. Si vous voulez également le répertoire JDK bin dans le chemin, ajoutez C:\Program Files\Java\jdk1.8.0_101\bin au chemin via le panneau de contrôle (en changeant le numéro de version si nécessaire).

+0

J'ai complètement supprimé toutes les versions et installé de nouveau jdk 1.8 102u. Et ajouté le même chemin. Mais, le problème est toujours là. – rohit15079

+0

@ rohit15079: Voir ci-dessus. –

0

Si la commande java fonctionne et rencontre un problème avec javac. Ensuite, vérifiez d'abord dans le répertoire bin javec.exe fichier javac.exe est là ou non. Si le fichier javac.exe existe, définissez JAVA_HOME comme variable système.

0

clic droit sur my computer et sélectionnez properties

  1. dans le côté gauche de la fenêtre, cliquez ouverte sur Advanced system settings
  2. après les propriétés du système ouvert cliquez sur Advanced onglet puis cliquez sur Environment Variables..
  3. dans la section System variables de Environment Variables fenêtres définissez JAVA_HOME en cliquant sur le bouton New.
  4. Situé sous le paramètre:
    Nom de la variable: JAVA_HOME
    valeur variable: C: \ Java \ jre1.8.0_92 \; C: \ Java \ jdk1.8.0_92 \
  5. cliquez sur OK dans toutes les fenêtres

Set Java_Home on Windows 7

aussi peut-être besoin de définir JAVA_HOME à section variable utilisateur trop