Wenn ich versuche, Tomcat mit startup.bat
auszuführen, erhalte ich die folgende Fehlermeldung:
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
Aber dann versuche ich C:\>echo %Java_home%
und erhalte folgendes Ergebnis
C:\Program Files\Java\jdk1.6.0_25\bin
Ich habe sogar versucht, Java_HOME
manuell auf die Systemvariablenliste einzustellen, aber dieses Problem bleibt bestehen.
Was kann ich tun, um das Problem zu lösen?
Ich verwende Windows 7.
Nachdem ich eine neue Systemvariable mit dem Namen Java_HOME gesetzt und den Pfad auf "C:\Program Files\Java\jdk1.6.0_25\bin\"
gesetzt habe, habe ich das Startskript erneut versucht und diesmal bekomme ich einen neuen Fehler.
D:\Work\Apache-Tomcat-6.0.35\bin>startup.bat
Files\Java\jdk1.6.0_25"" was unexpected at this time.
Irgendeine Idee, was dieser Fehler bedeutet?
Ich habe sogar versucht, den Pfad auf "C:\Program Files\Java\jdk1.6.0_25\"
(also ohne bin ) zu setzen, aber der gleiche Fehler tritt auf.
Versuchen Sie, Java an einem anderen Ort zu installieren - in einem Verzeichnis ohne Leerzeichen. Setzen Sie die Variable Java_HOME
erneut und versuchen Sie es erneut. Ich erinnere mich, dass Tomcat in Windows XP einige Probleme mit Leerzeichen hatte, wenn beim Starten enthaltene Variablen Leerzeichen enthielten. Vielleicht ist es mit Windows 7 ähnlich.
Ich erinnere mich, dass ich einige Zeilen in Tomcat-Java-Klassen ändern musste, die den Tomcat-Startvorgang behandelten.
@Edit: Luciano schlug mich zu bemerken, aber Sie sollten auch bin
aus Java_HOME
entfernen.
@Edit: Ich erinnere mich auch, dass ein anderer Fix (den ich nicht selbst getestet habe) darin bestand, Java_HOME
auf die Kurzfassung zu setzen, z. C:\Progra~1\Java\jdk1.6.0_25
Ich denke, dass Ihr Java_HOME darauf zeigen sollte
C:\Program Files\Java\jdk1.6.0_25
anstatt
C:\Program Files\Java\jdk1.6.0_25\bin
Das heißt ohne den Ordner bin .
UPDATE
Dieser neue Fehler erscheint mir, wenn ich Java_HOME mit den Anführungszeichen wie Sie gesetzt habe. Verwenden Sie Anführungszeichen? Wenn ja, entfernen Sie sie.
Vermeiden Sie das Semikolon am Ende aller Umgebungsvariablen ... von Java_HOME oder JRE_HOME
Java_HOME=C:\Program Files\Java\jdk1.6.0_25\bin
und
JRE_HOME=C:\Program Files\Java\jdk1.6.0_32\jre
sollte wie gezeigt sein ...
Ich hatte Win 8 x86 installiert. Meine Variable Path
hatte den Eintrag C:\Program Files\Java\jdk1.6.0_31\bin
und ich hatte auch folgende Variablen:
Java_HOME
: C:\Program Files\Java\jdk1.6.0_31;
JRE_HOME
: C:\Program Files\Java\jre6;
Mein Tomcat ist unter C:\Program Files\Apache Software Foundation\Apache-Tomcat-7.0.41
installiert.
Und trotzdem hat es bei mir nicht funktioniert.
Ich habe versucht, Program Files
in diesen Pfaden durch Progra~1
zu ersetzen. Ich habe auch versucht, Java in einen anderen Ordner zu verschieben, damit der vollständige Pfad keine Leerzeichen enthält. Aber nichts hat funktioniert.
Schließlich waren Umgebungsvariablen, die für mich funktionierten,
Program Files
, d. H. C:\Program Files\Java\jdk1.6.0_31\bin
Java_HOME
: C:\Program Files\Java\jdk1.6.0_31
JRE_HOME
Was ich getan habe, ist JRE_HOME
und das Semikolon am Ende von Java_HOME
entfernt. Ich denke, Semikolon sollte kein Problem sein, obwohl ich es entfernt habe. Ich gebe diese Einstellungen, da nach vielem Googeln nichts für mich funktioniert hat und plötzlich scheinen diese zu funktionieren. Sie können replizieren und sehen, ob es für Sie funktioniert.
Dies funktionierte auch für Win 7 x64, wo
C:\Program Files (x86)\Java\jdk1.7.0_17\bin
Java_HOME
ist auf C:\Program Files (x86)\Java\jdk1.7.0_17
gesetzt (ohne Semikolon)Bitte sagen Sie mir, warum dies funktioniert hat. Ich weiß, dass JRE_HOME
eine seltsame Lösung war.
Entfernen Sie die 'bin' von Java_HOME. Das löst das Problem.
Umgebungsvariable setzen ([Windows-Taste] + [Pause-Taste], wechseln Sie zu "Erweitert", klicken Sie auf "Umgebungsvariablen"), klicken Sie in "Systemvariablen" (untere Liste) auf "Neu" (oder "Bearbeiten", wenn Sie bereits eine haben )
name: Java_HOME
wert: C:\PROGRA ~ 1\Java\JDK16 ~ 1.0_3
für C:\Programme\Java\jdk1.6.0_32
oK klicken",
gehe zu "Pfad" in "Systemvariablen",
hinzufügen ; am Ende der Zeile (sofern nicht bereits eine vorhanden ist),
add: C:\PROGRA ~ 1\Java\JDK16 ~ 1.0_3\bin
klicken Sie auf "OK". - Starten Sie Ihren Computer neu (empfohlen)
Manchmal macht semiColon eine Sache bitte stelle sicher
Java_HOME=c:\Program Files\Java\jdk1.6.0_32
aber nicht
Java_HOME=c:\Program Files\Java\jdk1.6.0_32;
Das gleiche Problem, das ich bekam, aber nicht gelöst
Ich habe den Tomcat gelöscht und erneut entpackt, und es hat funktioniert.
Setzen Sie Umgebungsvariablen für Java_HOME und JRE_HOME ohne den\bin . Das hat für mich funktioniert
Für mich bei Atlassians Bambus war das Problem, dass ich den Befehl in Sprachmarken verpackt hatte
So
SET JRE_HOME="C:\Program Files\Java\jre1.8.0_121"
War falsch, wo denn die richtige Version ist
SET JRE_HOME=C:\Program Files\Java\jre1.8.0_121
Dies gab mir die Fehlermeldung
Files\Java\jre1.8.0_121"" was unexpected at this time.
Ich habe das eingestellt
variablenname: Java_HOME Wert: C:\Programme\Java\jdk1.6.0_32
Ich setze diese Eigenschaften in System-/Umgebungsvariablen ohne Semikolon. Tomcat läuft auf meinem System.
Es funktioniert wirklich.
es gibt zwei Arten von Umgebungsvariablen Erste Benutzervariable. Wenn Sie diesen Pfad verwenden, funktioniert er nur für diesen bestimmten Benutzer . Zweitens ist die Systemvariable. In meinem System habe ich Java_HOME in der Systemvariablen gesetzt, es hat nicht funktioniert, dann habe ich den Pfad in Benutzervariable eingestellt.
Um Tomcat8 ausführen zu können, muss JRE_HOME in Env Variable definiert sein.
Java_HOME alleine reicht nicht aus, auch wenn es richtig eingestellt ist.
JRE_HOME = C:\Program Files\Java\jdk1.8.0_77\jre
Sie sollten die JRE auswählen, die sich in SDK befindet, d. H. Eine mit Ihrer JDK (SDK) -Installation
Beim Kompilieren von JDK zur Unterstützung von JSP müssen Servlets kompiliert werden, die aus * .jsp-Dateien generiert werden. Andernfalls ist JRE erforderlich. Wenn Sie also entwickeln, benötigen Sie Java_HOME und bei der Bereitstellung JRE_HOME.
Stellen Sie außerdem sicher, dass Sie über die richtige Version von Tomcat für den CPU-Typ verfügen. Ich hatte einen 64-Bit-Tomcat auf einem 32-Bit-O/S-Gerät installiert, aber es gab mir die Java_HOME-Ausnahme, wenn dies überhaupt nicht der Fall war.