web-dev-qa-db-fra.com

'"Java.exe"' n'est pas reconnu comme une commande interne ou externe,

J'ai téléchargé à la fois Java jdk1.7.0_06 et Java jre7. et j'ai ajouté la variable système suivante Java_HOME C:\Program Files\Java\jdk1.7.0_06\bin à Windows 7. Mais lorsque je tape ce qui suit dans la ligne de commande CMD sur mon Windows 7 C:\activiti-5.10\activiti-5.10\setup>ant demo.start pour exécuter une application de démonstration, l'erreur suivante s'est produite dans la ligne de commande '

"Java.exe" 'n'est pas reconnu en tant que commande, programme exécutable ou fichier de commandes interne ou externe

Alors, est-ce que quelqu'un sait comment je peux résoudre ce problème? BR

8
test test

Si vous regardez le fichier "ant.bat" , vous verrez qu'il cherche la commande "Java" de la manière suivante:

  1. Si la variable d'environnement %JAVACMD% est définie, elle l'utilise.
  2. Sinon, si la variable d'environnement %Java_HOME% est définie, il essaie d'utiliser %Java_HOME%\bin\Java.exe
  3. Sinon, il essaie d'utiliser Java.exe; c'est-à-dire que cela ressemblera à votre% PATH%.

Dans votre cas, vous avez défini %Java_HOME% ... mais défini dans le répertoire "bin" de l'installation Java, pas à la racine de l'installation. Donc, le script Ant.bat cherche au mauvais endroit pour Java.exe.

Il suffit de définir %Java_HOME% correctement, et cela devrait fonctionner.

Java_HOME C:\Program Files\Java\jdk1.7.0_06

Vous n'avez pas {besoin} _ d'avoir le répertoire Java "bin" sur votre %PATH% pour que Ant fonctionne, mais c'est une bonne idée de le définir quand même. De cette façon, vous pouvez exécuter les commandes Java simplement à partir de la ligne de commande.

Le paramètre %CLASSPATH% n'est pas pertinent pour ce problème. En effet, à moins que le fichier build.xml ne soit cassé, Ant will ignore votre variable d’environnement %CLASSPATH%.

12
Stephen C

Java_HOME est le chemin du dossier racine JDK. Par exemple: C:\Program Files\Java\jdk1.7.0_06 mais le chemin définit C:\Program Files\Java\jdk1.7.0_06\bin

Java_HOME C:\Program Files\Java\jdk1.7.0_06
JRE_HOME C:\Program Files\Java\jre1.7.0_06
path = C:\Program Files\Java\jdk1.7.0_06\bin;C:\Program Files\Java\jre1.7.0_06\bin
1
Mohammod Hossain

Supprimez simplement les fichiers suivants de votre dossier% windir/System32. En réalité, supprimer Java.exe suffit, mais par souci de cohérence, supprimez tous les fichiers binaires liés à Java.

  1. Java.exe
  2. javaw.exe
  3. javaws.exe

En fait, le programme d’installation d’Oracle Windows place une copie de ces fichiers dans le dossier% windir/System32 (ce que je ne comprends pas pourquoi), mais il semble qu’ils ne sont pas nécessaires (car ils sont disponibles dans le dossier JDK où vous les avez installés).

J'ai essayé toutes les solutions proposées dans le SO et d'autres forums également, mais aucune d'entre elles n'a fonctionné pour moi. J'ai également défini correctement toutes les variables d'environnement pertinentes (Java_PATH, CLASS_PATH, etc.). Enfin, c’est la seule solution qui a fonctionné pour moi.

1
Rajaraman

Vous devez mettre le fichier Java.exe dans votre variable PATH mais le JRE dans Java_HOME

1
imulsion

En règle générale, Java_HOME doit être le répertoire parent du dossier "bin" (jre ou jdk).

Dans ce cas, ant s'attend à ce que Java provienne du JDK.

essayez de suivre dans une fenêtre de commande

set Java_HOME=C:\Program Files\Java\jdk1.7.0_06
set path="%Java_HOME%/bin;%path%;
ant

(note latérale: l'ajout de Java.exe au chemin d'accès n'est pas une nécessité pour ant; c'est une chose pratique pour l'utilisateur)

1
Jayan

Accédez au répertoire\squirrel-sql-3.9.0> squirrel-sql.bat. Ouvrez-le squirrel-sql.bat dans le bloc-notes et commentez la logique existante:

=======================================
if exist "%IZPACK_Java%\bin\javaw.exe" (
  set LOCAL_Java=%IZPACK_Java%\bin\javaw.exe
) else (
  set LOCAL_Java=javaw.exe
)

echo Using Java: %LOCAL_Java%
=================================

et ajoutez la logique ci-dessous

@echo off

set LOCAL_Java=C:\Program Files (x86)\Java\jre7\bin\javaw.exe

echo Using Java: %LOCAL_Java%
================================

assurez-vous d’ajouter le chemin correct de javax.exe lors de l’ajout du jeu logique ci-dessus LOCAL_Java =

et démarrez le fichier .bat à partir de CMD .. c'est tout. Ça devrait marcher. Cela a fonctionné pour moi.

0
user11079222