Lorsque j'essaie d'exécuter Tomcat avec startup.bat
, le message d'erreur suivant s'affiche:
The Java_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: Java_HOME should point to a JDK not a JRE
Mais alors j'essaie C:\>echo %Java_home%
et j'obtiens le résultat suivant
C:\Program Files\Java\jdk1.6.0_25\bin
J'ai même essayé de définir manuellement Java_HOME
dans la liste de variables système, mais le problème persiste.
Que puis-je faire pour le résoudre?
J'utilise Windows 7.
Après avoir défini une nouvelle variable système nommée Java_HOME et défini son chemin d'accès à "C:\Program Files\Java\jdk1.6.0_25\bin\"
, j'ai réessayé le script de démarrage et cette fois une nouvelle erreur s'est produite.
D:\Work\Apache-Tomcat-6.0.35\bin>startup.bat
Files\Java\jdk1.6.0_25"" was unexpected at this time.
Une idée de ce que cette erreur signifie?
J'ai même essayé de définir le chemin d'accès à "C:\Program Files\Java\jdk1.6.0_25\"
(c'est-à-dire sans bin ) mais la même erreur se produit.
Essayez d’installer Java ailleurs - dans un répertoire sans espaces. Définissez à nouveau la variable Java_HOME
et réessayez. Je me souviens que Tomcat avait quelques problèmes sur la fenêtre XP avec des espaces si toutes les variables qu’il utilisait au démarrage des espaces contenus. Peut-être que c'est similaire avec Windows 7.
Je me souviens que je devais modifier certaines lignes dans les classes Java Tomcat qui géraient le démarrage de Tomcat.
@Edit: Luciano m'a battu pour le remarquer, mais vous devriez également supprimer bin
de Java_HOME
@Edit: Je me souviens également qu'un autre correctif (qui n'a pas été testé par moi-même) consistait à définir Java_HOME
sur la version abrégée, par exemple. C:\Progra~1\Java\jdk1.6.0_25
Je pense que votre Java_HOME devrait pointer vers
C:\Program Files\Java\jdk1.6.0_25
au lieu de
C:\Program Files\Java\jdk1.6.0_25\bin
C'est-à-dire sans le dossier bin .
METTRE À JOUR
Cette nouvelle erreur me semble si je configure Java_HOME avec les guillemets, comme vous l'avez fait. Utilisez-vous des guillemets? Si oui, supprimez-les.
Évitez les points-virgules à la fin des variables d'environnement ... de Java_HOME ou JRE_HOME
Java_HOME=C:\Program Files\Java\jdk1.6.0_25\bin
et
JRE_HOME=C:\Program Files\Java\jdk1.6.0_32\jre
devrait être comme indiqué ...
J'avais Win 8 x86 installé. Ma variable Path
avait l'entrée C:\Program Files\Java\jdk1.6.0_31\bin
et j'avais également les variables suivantes:
Java_HOME
: C:\Program Files\Java\jdk1.6.0_31;
JRE_HOME
: C:\Program Files\Java\jre6;
Mon Tomcat est installé à C:\Program Files\Apache Software Foundation\Apache-Tomcat-7.0.41
Et toujours cela n'a pas fonctionné pour moi.
J'ai essayé en remplaçant Program Files
dans ces chemins par Progra~1
. J'ai également essayé de déplacer Java vers un autre dossier afin que le chemin d'accès complet ne contienne aucun espace. Mais rien n'a fonctionné.
Enfin, les variables d'environnement qui ont fonctionné pour moi sont:
Program Files
complet i.e. C:\Program Files\Java\jdk1.6.0_31\bin
Java_HOME
: C:\Program Files\Java\jdk1.6.0_31
JRE_HOME
Donc, ce que j'ai fait est supprimé JRE_HOME
et supprimé point-virgule à la fin de Java_HOME
. Je pense que le point-virgule ne devrait pas être un problème, même si je l'ai enlevé. Je donne ces paramètres, car après beaucoup de recherches sur Google, rien ne fonctionnait pour moi et, tout à coup, ceux-ci semblent fonctionner. Vous pouvez répliquer et voir si cela fonctionne pour vous.
Cela a également fonctionné pour Win 7 x64, où
C:\Program Files (x86)\Java\jdk1.7.0_17\bin
Java_HOME
est défini sur C:\Program Files (x86)\Java\jdk1.7.0_17
(sans point-virgule)S'il vous plaît, dites-moi pourquoi cela a fonctionné. Je sais que supprimer JRE_HOME
était une solution étrange, mais est-ce que vous devinez quelle différence cela fait?
Supprimez le 'bin' de Java_HOME. Cela résout le problème.
Définissez la variable d'environnement ([Touche Windows] + [Pause], passez à "Avancé", cliquez sur "Variables d'environnement", dans "Variables système" (liste du bas), cliquez sur "Nouveau" (ou "Modifier" si vous l'avez déjà.) ),
nom: Java_HOME
valeur: C:\PROGRA ~ 1\Java\JDK16 ~ 1.0_3
pour C:\Program Files\Java\jdk1.6.0_32
cliquez sur OK",
aller à "chemin" dans "variables système",
ajouter ; à la fin de la ligne (sauf s'il en existe déjà une),
ajouter: C:\PROGRA ~ 1\Java\JDK16 ~ 1.0_3\bin
cliquez sur "ok" à travers tout. - redémarrez votre ordinateur (conseillé)
Parfois, semi-colon fait la matière veuillez vous assurer
Java_HOME=c:\Program Files\Java\jdk1.6.0_32
mais non
Java_HOME=c:\Program Files\Java\jdk1.6.0_32;
Même problème que j'ai eu mais pas résolu
J'ai supprimé le Tomcat et l'ai décompressé à nouveau et cela a fonctionné.
Définir les variables d'environnement pour Java_HOME et JRE_HOME sans le\bin . Cela a fonctionné pour moi
Pour référence avec Atlassian's Bamboo, le problème était lié au fait que j'avais enveloppé la commande de marques de parole.
Alors
SET JRE_HOME="C:\Program Files\Java\jre1.8.0_121"
A eu tort, où comme la bonne version est
SET JRE_HOME=C:\Program Files\Java\jre1.8.0_121
Cela m'a donné le message d'erreur
Files\Java\jre1.8.0_121"" was unexpected at this time.
Je mets le
nom de variable: Java_HOME valeur: C:\Program Files\Java\jdk1.6.0_32
Je définis ces propriétés dans des variables système/d’environnement sans point-virgule, Tomcat étant exécuté sur mon système.
Ça marche vraiment.
il existe deux types de variable d'environnement first La variable utilisateur, si votre chemin d'accès y est utilisé ne fonctionnera que pour cet utilisateur particulier. Dans mon système, j'ai défini Java_HOME dans la variable système, cela ne fonctionnait pas, puis dans le chemin .__
Pour exécuter Tomcat8, vous devez définir JRE_HOME dans Env Variable.
Java_HOME seul ne suffira pas même s'il est correctement défini.
JRE_HOME = C:\Program Files\Java\jdk1.8.0_77\jre
Vous devez sélectionner le JRE contenu dans le SDK, c’est-à-dire un avec votre installation JDK (SDK) .
Lorsque la compilation de JDK est nécessaire pour prendre en charge JSP, compilez des servlets générés à partir de fichiers * .jsp. Sinon, exécuter JRE est nécessaire. Ainsi, lorsque vous développez, vous avez besoin de Java_HOME et lorsque vous déployez, vous avez besoin de JRE_HOME.
Vérifiez également que vous disposez de la version correcte de Tomcat pour le type de processeur. J'avais installé un Tomcat 64 bits sur un système d'exploitation 32 bits, mais cela me donnait l'exception Java_HOME alors que ce n'était pas le cas du tout.