Tomcat ne fonctionne pas même si JAVA HOME path est correct

Lorsque j'essaie d'exécuter tomcat en utilisant startup.bat, j'obtiens l'erreur suivante,

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 FilesJavajdk1.6.0_25bin

J'ai même essayé de définir JAVA_HOME manuellement sur la liste des variables système, mais ce problème persiste.

Que puis-je faire pour le résoudre?

J'utilise Windows 7.


Mettre à jour

Après avoir défini une nouvelle variable système nommée JAVA_HOME et défini son chemin sur "C:Program FilesJavajdk1.6.0_25bin", j'ai essayé à nouveau le script de démarrage et cette fois je obtenez une nouvelle erreur.

D:Workapache-tomcat-6.0.35bin>startup.bat
FilesJavajdk1.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 à "C:Program FilesJavajdk1.6.0_25" (c'est-à-dire sans bin) mais la même erreur se produit.

23
demandé sur Quazi Irfan 2012-01-14 03:37:48

17 réponses

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 Window XP avec des espaces si des variables qu'il utilisait lors du démarrage des espaces contenus. Peut-être que C'est similaire avec Windows 7.

Je me souviens que j'ai dû changer certaines lignes dans les classes Java Tomcat qui géraient le démarrage Tomcat.

@Edit: Luciano m'a battu pour le remarquer mais vous devriez également supprimer bin de JAVA_HOME

@Edit: je me souviens aussi qu'un autre correctif (ne l'a pas testé moi-même, cependant) était de définir JAVA_HOME à la version abrégée par exemple C:\Progra~1\Java\jdk1.6.0_25

27
répondu Mateusz Dymczyk 2017-04-04 01:53:43

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 dossierbin .

Mise à jour

Cette nouvelle erreur m'apparaît si je mets le JAVA_HOME avec les guillemets, comme vous l'avez fait. Êtes-vous à l'aide de guillemets? Si oui, retirez-les.

19
répondu Luciano 2015-08-23 04:49:50

Évitez les points-virgules à la fin des variables d'environnement... depuis 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é...

8
répondu Nitesh Jain 2012-05-08 09:11:44

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 aussi 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 cela n'a toujours pas fonctionné pour moi.

J'ai essayé en remplaçant Program Files dans ces chemins avec Progra~1. J'ai également essayé en déplaçant JAVA vers un autre dossier afin que le chemin complet ne contienne aucun espace. Mais rien n'a fonctionné.

Enfin les variables d'environnement cela a fonctionné pour moi sont:

  • variable de chemin conservée telle quelle Avec full Program Files c'est-à-dire C:\Program Files\Java\jdk1.6.0_31\bin
  • JAVA_HOME : C:\Program Files\Java\jdk1.6.0_31
  • Supprimé JRE_HOME

Donc ce que j'ai fait est supprimé JRE_HOME et supprimé le 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 supprimé. Je donne ces paramètres, car après beaucoup de googling rien n'a fonctionné 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 gagner 7 x64, où

  • variable de chemin contenue C:\Program Files (x86)\Java\jdk1.7.0_17\bin
  • {[2] } est défini sur C:\Program Files (x86)\Java\jdk1.7.0_17 (sans point-virgule)

Dites-moi pourquoi cela a fonctionné, je sais que la suppression de JRE_HOME était une solution étrange, mais toute supposition quelle différence cela fait?

5
répondu Mahesha999 2013-10-12 11:07:52

Supprimez le' bin ' de JAVA_HOME. Qui résout le problème.

2
répondu cijothomas 2013-07-26 21:50:16

Définir la Variable D'environnement ([touche Windows] + [touche Pause], passer à "Avancé", cliquez sur "Variables D'environnement", dans "Variables système" (Liste inférieure), 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 fichiers\Java \ jdk1.6. 0_32

Cliquez sur "ok",

Aller à "chemin" dans "variables système",

Add; à la fin de la ligne (à moins qu'il n'y en ait déjà une),

Ajouter: C:\PROGRA~1 \ Java\JDK16~1.0_3 \ bin

Cliquez sur "ok" à travers tout. -- redémarrez votre ordinateur (conseillé)

1
répondu 2012-05-31 21:07:52

J'ai défini le

Nom de la Variable: JAVA_HOME valeur : C:\Program fichiers\Java \ jdk1.6. 0_32

Je définis ces propriétés dans les variables système/environnement sans point-virgule, tomcat est en cours d'exécution sur mon système.

Ça marche vraiment.

0
répondu Veluru 2012-06-12 18:24:43

Assurez-vous également que vous avez la bonne version de Tomcat pour le type de CPU. J'avais installé un tomcat 64 bits sur un O / S 32 bits mais il me donnait L'exception JAVA_HOME quand ce n'était pas du tout le cas.

0
répondu jimmy 2013-02-14 12:13:31

Il existe deux types de variables d'environnement première variable utilisateur si vous chemin dans cela, cela fonctionnera uniquement pour cet utilisateur particulier. la seconde est la variable système Si vous définissez le chemin dans ce qu'il est utilisé par tous les types d'utilisateurs.. Dans mon système, J'ai défini JAVA_HOME dans la variable système, cela ne fonctionnait pas, puis j'ai défini path in Variable utilisateur c'est working.....so essayez dans les deux types de variable d'environnement...

0
répondu satya 2013-10-12 16:58:33

Parfois, le point-virgule fait de la matière veuillez vous assurer

JAVA_HOME=c:\Program Files\Java\jdk1.6.0_32 

, Mais pas

JAVA_HOME=c:\Program Files\Java\jdk1.6.0_32;

Même problème que j'ai eu mais pas résolu

0
répondu user3418679 2014-03-14 09:18:36

Définit les variables D'environnement pour JAVA_HOME et JRE_HOME sans le \ bin. Cela a fonctionné pour moi

0
répondu buddhi weerasinghe 2014-08-29 05:30:00

J'ai supprimé le Tomcat et l'ai décompressé à nouveau et cela a fonctionné.

0
répondu Alex 2015-01-20 14:21:18

Pour exécuter Tomcat8, vous devez définir JRE_HOME dans la Variable Env.

JAVA_HOME seul ne fera 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 qui se trouve dans le SDK, c'est-à-dire un avec votre installation JDK(SDK). En d'autres termes, votre JAVA_HOME + \jre

Lors de la compilation JDK est nécessaire pour prendre en charge JSP, pour compiler les Servlets qui sont générés à partir de *.fichiers jsp. Sinon, pour exécuter JRE est nécessaire. Donc quand vous développez vous avez besoin de JAVA_HOME et quand vous déployez vous avez besoin JRE_HOME.

0
répondu vimal krishna 2016-06-28 08:22:03

Pour référence pour moi avec le bambou D'Atlassian, le problème était parce que j'avais enveloppé la commande dans des marques de discours

Donc

SET JRE_HOME="C:\Program Files\Java\jre1.8.0_121"

Était faux, 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.
0
répondu tim.baker 2017-03-08 15:13:54

Supprimer le point-virgule et vous pouvez voir ce lien: http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html

-1
répondu Houssamel-deen 2015-02-06 23:15:17
First Run the tomcat directly through the tomcat /bin folder with 
startup.bat if running sucessful the set the variable as below sample    

Valeur JAVA_HOME : C:\Program fichiers\Java \ jdk1. 6. 0_32;

Chemin: C:\Program fichiers\Java \ jdk1. 6. 0_32 \ bin;

CATALINA_HOME=C: \ Program Files \ Apache Software Foundation\Apache Tomcat 7.0.27;

PATH= % PATH%; % JAVA_HOME%\bin;%CATALINA_HOME%\bin;

si nécessaire CLASS_PATH: % CATALINA_HOME%\lib; % JAVA_HOME%\lib;

-1
répondu jaskirat Singh 2016-02-03 07:37:47

J'ai eu un problème similaire et Veuillez noter que nous n'avons pas besoin de définir JAVA_HOME sauf si nous allons utiliser le mode débogage. tomcat dans windows 7 peut gérer les espaces dans les variables d'environnement le problème est à cause de "bin" dans le chemin. définir JRE_HOME sur C:\Program Files (x86) \ Java\jre1.8. 0_65 a résolu mon problème et tomcat est opérationnel sans aucun problème

-2
répondu Sree Harsha 2015-10-23 11:54:17