Ich habe Probleme beim Starten von Apache Tomcat 6 von Netbeans IDE 7.4 (auf Version 7.3 hatte ich die gleichen Probleme. Andere Leute erwähnten, dass dieses Problem auch in anderen Versionen wie 8.0 usw. existiert).
Was habe ich getan:
Tomcat-Benutzer: Ich lasse Netbeans einen neuen Benutzer erstellen, genannt Tomcat mit dem Passwort Tomcat. Wenn ich die Datei {Tomcat}\conf\Tomcat-users.xml nach dem Hinzufügen des Servers öffne, werden Informationen zu meinem Benutzer angezeigt:
<user password = "Tomcat" rolls = "manager, admin" username = "Tomcat" />
Wenn ich jetzt auf "Start" klicke, bekam ich " Starten von Tomcat ".
Mein Verdacht
Betroffen sind mindestens die NetBeans-Versionen 7.4 bis 8.0.2. Es wurde erstmals von Version 8.0 berichtet und in NetBeans 8.1 behoben. Es hätte das Problem für jede Tomcat-Version (für die Versionen 7.0.56 bis 8.0.28 bestätigt) gehabt.
Besonderheiten werden als Netbeans-Fehler # 248182 beschrieben.
Dieses Problem hängt auch mit Buchungen zusammen, in denen die folgende Fehlerausgabe erwähnt wird:
'127.0.0.1 *' wird nicht als interner oder externer Befehl, bedienbares Programm oder Stapelverarbeitungsdatei erkannt.
Bei einem aus der ZIP-Datei installierten Tomcat habe ich dies behoben, indem die catalina.bat
-Datei im Tomcat-Verzeichnis bin
geändert wurde.
Finden Sie die unten angegebene Konfiguration in Ihrer catalina.bat
-Datei.
:noJuliConfig
set "Java_OPTS=%Java_OPTS% %LOGGING_CONFIG%"
:noJuliManager
set "Java_OPTS=%Java_OPTS% %LOGGING_MANAGER%"
Und ändern Sie es wie unten durch Entfernen der Anführungszeichen:
:noJuliConfig
set Java_OPTS=%Java_OPTS% %LOGGING_CONFIG%
:noJuliManager
set Java_OPTS=%Java_OPTS% %LOGGING_MANAGER%
Speichern Sie nun Ihre Änderungen und starten Sie Ihren Tomcat über NetBeans.
Dies betrifft:
Dies liegt daran, dass Netbeans nicht sieht, dass Tomcat gestartet wird, obwohl es gut gestartet ist.
Ich habe Fehler # 262749 mit NetBeans abgelegt.
Fügen Sie in der Datei server.xml
im Element Connector
für HTTP/1.1 das folgende Attribut hinzu: server="Apache-Coyote/1.1"
.
Beispiel:
<Connector
connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
server="Apache-Coyote/1.1"
/>
Der Grund dafür ist, dass vor 8.5.3 der Serverheader als Apache-Coyote/1.1
festgelegt wurde, während dieser Standard seit 8.5.3 jetzt auf leer gesetzt wurde. Anscheinend prüft Netbeans diesen Header.
Vielleicht werden wir in Zukunft mit einer Lösung für dieses Problem in Netbeans rechnen können.
Ich konnte es auf eine Änderung in der Dokumentation zurückführen.
"Überschreibt den Serverheader für die http - Antwort. Wenn gesetzt, überschreibt der Wert Für dieses Attribut jeden Serverheader, der von einer Webanwendung Festgelegt wurde. Wenn nicht festgelegt, wird der von der Anwendung angegebene Wert Wenn die Anwendung keinen Wert angibt, wird kein Server-Header angegeben. "
"Überschreibt den Serverheader für die http - Antwort. Wenn gesetzt, überschreibt der Wert Für dieses Attribut den Tomcat - Standardwert und jeden Serverheader , Der von einer Webanwendung festgelegt wird. Anwendung wird verwendet. Wenn die Anwendung keinen Wert angibt, wird Apache-Coyote/1.1 verwendet. Wenn Sie nicht paranoid sind, benötigen Sie diese Funktion nicht. "
Dies erklärt die Notwendigkeit, das Serverattribut seit Version 8.5.3 explizit hinzuzufügen.
Es ist auch sehr wahrscheinlich, dass dieses Problem bei den Proxy-Einstellungen auftritt.
Jeder, der das Startproblem von Tomact nicht überwunden hat, - versucht in NetBeans Kein Proxy in der Registerkarte Extras -> Optionen -> Allgemein.
Es hat mir geholfen.
Damit NetBeans mit Tomcat interagieren können, muss der Benutzer bei der Einrichtung in Netbeans ordnungsgemäß in der Tomcat-users.xml
-Datei konfiguriert sein. NetBeans können dies automatisch tun.
Innerhalb des Tomcat-users.xml
, den Sie in ${CATALINA_HOME}/conf
finden, oder ${CATALINA_BASE}/conf
,
script-manager
hinzugefügt wirdBeispiel ändern
<user password="Tomcat" roles="manager,admin" username="Tomcat"/>
Zu
<user password="Tomcat" roles="manager-script,manager,admin" username="Tomcat"/>
manager-script
-Rolle deklariert istHinzufügen
<role rolename="manager-script"/>
In der Online-Hilfe von netbeans heißt es fälschlicherweise:
Benutzername - Gibt den Benutzernamen an, mit dem sich die IDE bei der Manager-Anwendung des Servers anmeldet. Der Benutzer muss der Managerrolle zugeordnet sein. Wenn der IDE zum ersten Mal den Tomcat-Webserver gestartet hat, z. B. durch die Aktion Start/Stopp-Menü oder durch Ausführen einer Webkomponente von der IDE aus, fügt der IDE einen Administratorbenutzer mit einem zufällig generiertes Passwort für die
Tomcat-base-path/conf/Tomcat-users.xml
-Datei. (Klicken Sie im Dienste-Fenster mit der rechten Maustaste auf den Knoten der Tomcat-Webserver-Instanz, und wählen Sie Eigenschaften aus. Im Dialogfeld Eigenschaften zeigt die Eigenschaft Basisverzeichnis auf das Verzeichnisbase-dir
.) Der Admin-Benutzereintrag in der DateiTomcat-users.xml
sieht folgendermaßen aus:<user username="idea" password="woiehh" roles="manager"/>
Die Rolle sollte manager-script
und nicht manager
sein.
Für eine vollständigere Tomcat-users.xml
-Datei:
<?xml version='1.0' encoding='utf-8'?>
<Tomcat-users>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user password="Tomcat" roles="manager-script" username="Tomcat"/>
<user password="pass" roles="manager-gui" username="me"/>
</Tomcat-users>
Es gibt ein weiteres Nizza-Posting auf Warum erhalte ich den Bereitstellungsfehler?
Ich hatte das gleiche Problem, aber keine der obigen Antworten funktionierte ... Die Lösung für mich bestand darin, die Manager-Webanwendung wiederherzustellen die mit Tomcat gebündelt ist.