it-swarm.com.de

Der Start von Tomcat ist in Netbeans fehlgeschlagen

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: 

  • installiertes Tomcat 7 entfernen (ohne es zu entfernen, ich hatte die gleichen Schwierigkeiten) 
  • neuen Server hinzufügen, der von der Apache Tomcat-Website heruntergeladen wurde (Version Apache-Tomcat-6.0.39, bei anderen Versionen hatte ich die gleichen Probleme) 
  • mein Serverstandort: D:\Apache-Tomcat-netbeans 
  • systemvariable CATALINA_HOME: D:\Apache-Tomcat-Netbeans 
  • systemvariable Java HOME: C:\Programme\Java\jdk1.7.0_51 \ 
  • 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 

  • Ich arbeite an Windows 7 als Administrator, daher denke ich, dass dies kein Problem mit Berechtigungen für Dateien ist. 
  • Das Deaktivieren von Proxy hat nicht geholfen. 
  • Protokolle: Es wird nur eine Protokolldatei erstellt: localhost.2014-03-06.log und sie ist völlig leer. 
  • Das Starten von Netbeans als Administrator hat nicht geholfen.
  • Von der Kommandozeile aus ist alles in Ordnung, ich habe keine Probleme beim Starten im normalen oder im Debug-Modus (catalina.bat jpda start oder startup.bat)
55
liquide

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.

159
Sudeepta

Dies betrifft:

  • Alle Versionen von Tomcat ab 8.5.3.
  • Alle Versionen von Netbeans bis 8.1 (in Netbeans 8.2 behoben).

Dies liegt daran, dass Netbeans nicht sieht, dass Tomcat gestartet wird, obwohl es gut gestartet ist.

Ich habe Fehler # 262749 mit NetBeans abgelegt.

Workaround

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"
/>

Ursache

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.

Tomcat 8.5 :

"Ü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. "

Tomcat 8.0 :

"Ü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.

70
YoYo

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.

15
Yan Pak

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,

  1. stellen Sie sicher, dass dem Benutzer (wie in netbeans ausgewählt) die Rolle script-manager hinzugefügt wird

Beispiel ändern

<user password="Tomcat" roles="manager,admin" username="Tomcat"/>

Zu

<user password="Tomcat" roles="manager-script,manager,admin" username="Tomcat"/>
  1. stellen Sie sicher, dass die manager-script-Rolle deklariert ist

Hinzufü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 Verzeichnis base-dir.) Der Admin-Benutzereintrag in der Datei Tomcat-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?

2
Sampath T

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.

1
lalo