Question

Je suis en train d'utiliser javac les invite de commande Windows, mais il ne fonctionne pas.

Après avoir ajouté le "C:\Program Files\Java\jdk1.6.0_16\bin\" de répertoire à la fin de la variable d'environnement PATH, la commande java fonctionne très bien, mais en utilisant javac me donne l'erreur suivante:

  

« javac » est pas reconnu comme une commande interne ou externe, un programme exécutable ou fichier de commandes.

Était-ce utile?

La solution

Si vous avez ajouté dans le panneau de commande alors que l'invite de commande était ouverte, qui ne sera pas affecter votre invite de commande en cours. Vous devrez quitter et rouvrir ou simplement faire:

set "path=%path%;c:\program files\java\jdk1.6.0_16\bin"

A titre de vérification, exécutez:

echo %path%

à partir de l'invite de commande et faites-nous savoir ce qu'il est.

Dans le cas contraire, assurez-vous est un javac dans ce répertoire en essayant:

"c:\program files\java\jdk1.6.0_16\bin\javac.exe"

à partir de l'invite de commande. Vous pouvez également dire qui exécutable (le cas échéant) est utilisé avec la commande:

for %i in (javac.exe) do @echo %~$PATH:i

Ceci est une astuce similaire aux commandes which et / ou whence dans certains systèmes d'exploitation de type UNIX.

Autres conseils

OS Windows recherche dans le répertoire en cours et les répertoires listés dans la variable d'environnement PATH pour les programmes exécutables. Les programmes de (JDK tels que Java compilateur javac.exe et Java Runtime java.exe) se trouvent dans le répertoire "\ bin" (où représente le répertoire JDK installé, par exemple, C: \ Program Files \ Java \ jdk1.8.0_xx). Vous devez inclure le répertoire « \ bin » dans le chemin.

Pour modifier la variable d'environnement PATH sous Windows XP / Vista / 7/8:

  1. Panneau de configuration ⇒ système ⇒ Paramètres système avancés

  2. Passer à l'onglet "Avancé" ⇒ Variables d'environnement

  3. Dans "Variables système", défilement vers le bas pour sélectionner "PATH" ⇒ Modifier

((maintenant lu 3 fois avant de poursuivre, IL N'Y A PAS UNDO ))

« Valeur de la variable » champ, insérer « c: \ Program Files \ Java \ jdk1.8.0_xx \ bin » (Remplacer xx avec le numéro de mise à niveau et vérifiez que c'est le répertoire binaire de votre JDK !!!) devant tous les répertoires existants, suivi d'un point-virgule (;) qui se sépare du reste des répertoires existants répertoire binaire du JDK. Ne supprimez pas les entrées existantes; sinon, certaines applications existantes peuvent ne pas fonctionner.

Variable name  : PATH
Variable value : c:\Program Files\Java\jdk1.8.0_xx\bin;[existing entries...]

Capture d'écran

Après une longue Google, je suis venu pour savoir que javac.exe sera à l'intérieur JDK (C: \ Program Files \ Java \ jdk (numéro de version) bin \) pas à l'intérieur JRE (C: \ Program Files (x86) \ Java \ jre7 \ bin) "JRE ne vient pas avec un compilateur Il (JRE) est tout simplement un environnement d'exécution Java Qu'est-ce que vous avez besoin est le Java.. kit de développement. " afin d'utiliser javac compilateur

javac ne fonctionnera pas si vous pointez l'intérieur bin jre

Pour utiliser javac cmd, JDK doit être installé dans votre système ...

pour le chemin javac

path = C: \ Program Files (x86) \ Java \ jre7 \ bin cela est faux

path = C: \ Program Files \ Java \ jdk (numéro de version) \ bin cela est correct

Assurez-vous que "javac.exe" est dans votre "C: \ Program Files \ Java \ jdk (numéro de version) \ bin"

Ne pas confondre avec les deux JRE et JDK sont totalement différents

si vous n'avez pas le téléchargement de ce lien de JDK http : //www.oracle.com/technetwork/java/javase/downloads/index.html

fil de référence pour VS JDK Quelle JRE est la différence entre JDK et JRE

Je sais que cela peut ne pas être votre erreur spécifique, mais j'eu une fois un espace de premier plan dans mon chemin et java fonctionnerait, mais javac ne serait pas.

Pour ce que ça vaut, je vous offre le sage conseil:. « Examinez votre chemin près »

Essayez les solutions ici: http://techdem.centerkey.com /2009/05/javahome-command-script.html

Ce sont beaucoup plus robustes pour changer - comme lorsque vous mettez à niveau le JDK ou JRE, car il n'y a pas de chemin codé en dur

.

La solution rapide (si vous ne voulez pas lire le blog) est

C:\>for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
C:\>set PATH=%PATH%;%JAVA_HOME%

Vous pouvez ensuite ajouter ces lignes à un démarrage / script de connexion.

Je viens de le faire pour que cela fonctionne sur Windows 7 64.

Ouvrez une invite de commande (cmd.exe) et tapez:

set CLASSPATH=C:\Program Files\Java\jdk1.7.0_01\bin

Assurez-vous que vous ouvrez à nouveau toutes les commandes en cours d'exécution invite Windows pour obtenir la variable d'environnement mis à jour.

Ok cela ne peut pas être toujours le cas, mais beaucoup d'entre nous ont fait cette erreur dans le passé et quelques-uns de ceux qui ne sont pas encore au courant, ce qui est, à chaque fois que vous ajoutez un chemin (tout chemin) d'un environnement variable, vous êtes susceptible de frapper la barre d'espace juste après le « virgule » (comme vous le feriez normalement, après la « période » tout en tapant dans un éditeur).

Cela va créer un espace de premier plan dans le chemin par exemple "C: \ Program Files \ Java \ jdk1.6.0 \ bin". Et donc "javac.exe" ne sera pas trouvée par le système

Changer le dossier « jdk1.7.0_45 » « jdk1_7_0_60 » et mettre à jour le chemin dans un environnement Windows. Dans le cas contraire, le chemin ne tient pas compte du point à l'avant qui signifie fichier caché et donc le dossier ne figure pas dans les chaînes de PATH.

"; C: \ Program Files \ Java \ jdk1.6.0 \ bin". Vous pouvez parfois oublier de mettre sur le dernier chemin virgule existant

Je face exactement le même problème que java fonctionnerait, mais javac ne serait pas sur une invite cmd dans Windows 8.

Le problème est survenu parce que j'ai oublié de retirer '>' à la fin du nom de chemin, à savoir, il était comme ça:

C:\Program Files\Java\jdk*\bin>

où il était censé être comme ceci:

C:\Program Files\Java\jdk*\bin

Le chemin ne sera défini pour le compte de l'administrateur. Par conséquent, il est important de lancer l'invite de commande en tant qu'administrateur, si vous n'êtes pas déjà.

Assurez-vous ne laissez pas d'espaces (espace blanc) entre les deux chemins dans la variable Path. Mon problème est que j'avais l'espace blanc et je crois de Windows traité comme un NULL et n'a pas lu mon chemin dans Java.

Je faisais le même problème affiché dans ce titre. Java fonctionnerait, mais javac ne serait dans l'invite de commande Windows (cmd.exe).

Pour moi, il était tout simplement que je l'avais placé un espace lors de l'ajout C:\Program Files\Java\jdk1.8.0\bin à la fin de ma variable d'environnement %PATH%.
Retirer l'espace entre le ; et le prochain chemin du fichier.

J'apprécie c'est une vieille question maintenant, mais ma solution n'a pas été une réponse à personne ici, il en détachement en cas d'autre essaie tout le reste.

Dans mon cas, une installation précédente de Java JRE (dans ProgramData / Oracle / Java) avait une variable de chemin en haut de ma liste de variables de chemin. Le contenu de ce chemin « Oracle » avait un java.exe mais pas javac.exe. J'ai ajouté mon chemin complet JDK en haut de la liste des variables de chemin, devant une « Oracle », et il a alors pris javac.exe ainsi que java.

for /d %i in ("\Program Files\Java\jdk*") do set JAVA_HOME=%i
set JAVA_HOME

cette solution a travaillé pour moi

Quand j'ai essayé de faire le .java à .Class la commande Javac ne fonctionnait pas. Je l'ai en allant travailler dans C: \ Program Files (x86) \ Java \ jdk1.7.0_04 \ bin et quand j'étais sur ce répertoire que je tapais javac.exe C \ Test \ test.java et il a fait la classe avec cette tactique. Essayez cela.

Donner comme "C: \ Program Files \ Java \ jdk1.6.0_16 \ bin". Retirez le antislash fonctionne

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top