[JAVA] Die Geschichte, dass Tomcat in Eclipse unter einem Timeout-Fehler litt

Einführung

Dieser Artikel fasst zusammen, was zuvor passiert ist, als Tomcat nicht von Eclipse aus gestartet werden konnte. Die Ursache war zu blind, also hoffe ich, dass es ein Hinweis für diejenigen sein wird, die ähnlich beunruhigt sind. Das Ziel ist für Menschen, die eine Entwicklungsumgebung aufbauen, also für Anfänger.

Umgebung

OS:macOS Catalina(10.15.5) Eclipse:Eclipse2020~2018

Der Anfang der Dinge

Ich habe vor ungefähr 3 Monaten versucht, eine WEB-Anwendung mit strus2 zu erstellen, aber da ich sie lange Zeit verlassen hatte, war ich verwirrt über den Ablauf einer Fortsetzung. (Da es viele Bibliotheken gibt, werde ich zum Maven-Projekt wechseln.) Nach dem Einstellen des POM wird der Server, der normalerweise in Sekunden startet, aus irgendeinem Grund nicht gestartet, wenn der Server kurz vor dem Start steht ... Wenn ich so warte, wird aus irgendeinem Grund ein Server-Timeout-Fehler angezeigt. スクリーンショット 2020-06-12 11.05.07.png

Was ich versucht habe

Ich habe mich gefragt, ob etwas schief gelaufen ist, und habe die Zeitüberschreitung des Servers von 45 Sekunden auf 120 Sekunden geändert. Ich erhalte immer noch einen Timeout-Fehler. Das Protokoll enthält nichts besonders Verdächtiges.

Information: Server version:        Apache Tomcat/8.5.34 [Fr 6 12 11:04:07 JST 2020]
Information: Server built:          Sep 4 2018 22:28:22 UTC [Fr 6 12 11:04:07 JST 2020]
Information: Server number:         8.5.34.0 [Fr 6 12 11:04:07 JST 2020]
Information: OS Name:               Mac OS X [Fr 6 12 11:04:07 JST 2020]
Information: OS Version:            10.15.5 [Fr 6 12 11:04:07 JST 2020]
Information: Architecture:          x86_64 [Fr 6 12 11:04:07 JST 2020]
Information: Java Home:             /Applications/Eclipse_2018-09.app/Contents/java/8/Home/jre [Fr 6 12 11:04:07 JST 2020]
Information: JVM Version:           1.8.0_181-b13 [Fr 6 12 11:04:07 JST 2020]
Information: JVM Vendor:            Oracle Corporation [Fr 6 12 11:04:07 JST 2020]
Information: CATALINA_BASE:         /Applications/Eclipse_2018-09.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 [Fr 6 12 11:04:07 JST 2020]
Information: CATALINA_HOME:         /Applications/Eclipse_2018-09.app/Contents/tomcat/8 [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Djava.ext.dirs=/Applications/Eclipse_2018-09.app/Contents/java/8/Home/jre/lib/ext [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Dcatalina.base=/Applications/Eclipse_2018-09.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Dcatalina.home=/Applications/Eclipse_2018-09.app/Contents/tomcat/8 [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Dwtp.deploy=/Applications/Eclipse_2018-09.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Djava.endorsed.dirs=/Applications/Eclipse_2018-09.app/Contents/tomcat/8/endorsed [Fr 6 12 11:04:07 JST 2020]
Information: Command line argument: -Dfile.encoding=UTF-8 [Fr 6 12 11:04:07 JST 2020]
Information: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/XXXXXXXX/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.] [Fr 6 12 11:04:07 JST 2020]
Information: Initializing ProtocolHandler ["http-nio-8080"] [Fr 6 12 11:04:07 JST 2020]
Information: Using a shared selector for servlet write/read [Fr 6 12 11:04:07 JST 2020]
Information: Initializing ProtocolHandler ["ajp-nio-8009"] [Fr 6 12 11:04:07 JST 2020]
Information: Using a shared selector for servlet write/read [Fr 6 12 11:04:07 JST 2020]
Information: Initialization processed in 1147 ms [Fr 6 12 11:04:07 JST 2020]
Information:Bedienung[Catalina]Start[Fr 6 12 11:04:07 JST 2020]
Information: Starting Servlet Engine: Apache Tomcat/8.5.34 [Fr 6 12 11:04:07 JST 2020]
Information: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. [Fr 6 12 11:04:10 JST 2020]
Information: Starting ProtocolHandler ["http-nio-8080"] [Fr 6 12 11:04:10 JST 2020]
Information: Starting ProtocolHandler ["ajp-nio-8009"] [Fr 6 12 11:04:10 JST 2020]
Information: Server startup in 2956 ms [Fr 6 12 11:04:10 JST 2020]

Funktioniert Tomcat nicht, weil ich es von hier aus gemacht habe? Ich kam auf die Idee und löschte das Projekt einmal. Nach dem Löschen des Projekts tritt immer noch ein Timeout-Fehler auf, wenn geprüft wird, ob nur der Server gestartet werden soll. Ich habe versucht, Eclipse mit dem Gedanken neu zu installieren, dass ich Eclipse von hier aus möglicherweise beschädigt habe. Selbst wenn ich überprüfe, ob nur der Server auf die gleiche Weise gestartet wird, tritt immer noch ein Timeout-Fehler auf. Die Java-Version und die Tomcat-Version stimmen überein, und ich kenne die Ursache überhaupt nicht. Als nächstes überprüfte ich, ob der Server nur mit Tomcat gestartet werden konnte.

So installieren Sie Apache Tomcat auf einem Mac

Wenn Sie den Server wie oben beschrieben starten, wird er normal gestartet und triumphiert http://localhost:8080 Wenn ich mich verbinde mit ...

** Ich kann doch keine Verbindung herstellen! !! !! !! !! !! !! ** ** **

MochiMac:bin XXXXX$ ./startup.sh
Using CATALINA_BASE:   /Users/XXXXX/Desktop/apache-tomcat-9.0.36
Using CATALINA_HOME:   /Users/XXXXX/Desktop/apache-tomcat-9.0.36
Using CATALINA_TMPDIR: /Users/XXXXX/Desktop/apache-tomcat-9.0.36/temp
Using JRE_HOME:        /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
Using CLASSPATH:       /Users/XXXXX/Desktop/apache-tomcat-9.0.36/bin/bootstrap.jar:/Users/XXXXX/Desktop/apache-tomcat-9.0.36/bin/tomcat-juli.jar
Tomcat started.

** Staeted wird angezeigt, also nicht starten! !! !! !! ** ** **

Ich habe hier zum ersten Mal das Protokoll überprüft und hatte das Gefühl, schreien zu wollen. (Ich bedauere, dass ich das Protokoll hätte durchsuchen sollen, auch wenn ich es mit Eclipse gestartet habe.) Dann berührte ich zum ersten Mal den Hinweis auf die Ursache.

12-Jun-2020 09:40:29.349 Informationen[main] org.apache.coyote.AbstractProtocol.Init-Protokoll-Handler["http-nio-8080"]Initialisieren.
12-Jun-2020 09:40:29.374 ernst[main] org.apache.catalina.util.LifecycleBase.handleSubClassException-Komponente[Connector[HTTP/1.1-8080]]Konnte nicht initialisiert werden.
	org.apache.catalina.LifecycleException:Protokollhandler konnte nicht initialisiert werden
		at org.apache.catalina.connector.Connector.initInternal(Connector.java:1042)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.startup.Catalina.load(Catalina.java:584)
		at org.apache.catalina.startup.Catalina.load(Catalina.java:607)

** Wird 8080 verwendet? ** ** ** Ich wollte es nicht verwenden, aber ich dachte, es könnte irgendwo verwendet worden sein, also habe ich es so modifiziert, dass es 8081 verwendet.

Einfache Möglichkeit, den Tomcat-Port zu ändern

Wenn Sie das Problem wie oben beschrieben beheben, können Sie diesmal keine Verbindung zu 8081 herstellen. image.png

Warum wird die Verbindung abgelehnt? Und wenn ich mich gut daran erinnere, erinnere ich mich, dass ich die Sicherheitssoftware vor zwei Monaten neu installieren musste ... Ich habe mich gefragt, ob ich tomcat mit der Sicherheitssoftware rund um die Firewall neu gestartet und die Zugriffsbeschränkungen deaktiviert habe ...

**gerührt! !! !! !! !! !! !! Sie können auch eine Verbindung zu localhost herstellen: 8080! !! !! !! !! ** ** **

Darüber hinaus wurde der Server so wie er war sicher mit Eclipse gestartet.

Ergebnis

Die Ursache war bisher die Sicherheitssoftware rund um die Firewall und die Einstellungen für die Zugriffsbeschränkung. Es war zu albern, es war ein blinder Fleck und es dauerte einige Zeit, um die Ursache zu identifizieren, also schrieb ich es in diesem Artikel.

Recommended Posts

Die Geschichte, dass Tomcat in Eclipse unter einem Timeout-Fehler litt
[Docker] Eine Geschichte über einen Fehler beim Erstellen von Docker
Die Geschichte, dass der Erstellungsfehler bei Verwendung von Eclipse 2020 nicht aufgehört hat
Eine Geschichte über das JDK in der Java 11-Ära
Eine Geschichte, die unter einem Raum litt, der nicht verschwindet, selbst wenn er mit Java beschnitten ist
Der richtige Weg, um die Tomcat-Quelle in Eclipse zu sehen
Eine Geschichte über einen Fehler während der Migration in Docker PHP Laravel
Überprüfungswertfehler, der in der Clusterumgebung aufgetreten ist
Ein Memorandum, in dem der Autor einen Fehler erlitten hat [Bundler: Befehl konnte nicht geladen werden: Einhorn NameError: nicht initialisierte Konstante Modell]
Grundlagen der Java-Fehlerbehandlung - Die Geschichte, die abfängt, wird nur im Vordergrund aufgegriffen
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
Eine Geschichte, die mir klar wurde, dass ich überhaupt als Ingenieur studieren musste
Die Geschichte des Werfens von BLOB-Daten von EXCEL in DBUnit
Ein Programm, das die Anzahl der Wörter in einer Liste zählt
Installieren Sie das Plug-In in Eclipse
Installieren Sie das Tomcat-Plug-In in Eclipse
Eine Geschichte, die ein Ruby-Anfänger gemacht und einen LINE BOT veröffentlicht hat, der die Zugzeit in 2 Monaten erzählt
[Gradle] Die Geschichte, dass die Klassendatei nicht in der JAR-Datei vorhanden war
Eine Geschichte, die mit der Einführung von Web Apple Pay zu kämpfen hatte
Entspricht "Fehler, dass die Basisauthentifizierung nicht bestanden wird" im Testcode "Die Geschichte, die nicht gemacht werden konnte".
Eine Geschichte, der ich mit der automatischen Starteinstellung von Tomcat 8 unter CentOS 8 zweimal verfallen war
Eine Geschichte über den Wechsel von Fähigkeiten von COBOL, das Ende der 20er Jahre 5 Jahre lang gepflegt wurde, zu einer Web-Sprache
Verwenden Sie das Findbugs-Plugin in Eclipse
Erstellen Sie ein Servlet-Programm in Eclipse
Eine Geschichte über das Ausführen eines Programms, das Dateien in Java aus einer Bat-Datei kopiert, um die tägliche Arbeit ein wenig effizienter zu gestalten
Eine kleine unruhige Geschichte mit Groovy
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Eine Geschichte über ein in Java geschriebenes Spring Boot-Projekt, das Kotlin unterstützt
Die Geschichte des Erwerbs von Java Silver in zwei Monaten von völlig unerfahrenen.
[Schienen] Über den Fehler, dass das Bild nicht in der Produktionsumgebung angezeigt wird
Führen Sie x11-Apps in einem Docker-Container aus (unterstützt den Netzwerkzugriff vom Container aus).
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
Eine Geschichte über das Konvertieren von Zeichencodes von UTF-8 in Shift-jis in Ruby
Die Geschichte, dass das Servlet nicht in die Java-Webanwendung geladen werden konnte
Machen Sie den Kontextstamm zum Projektordner im dynamischen Webprojekt von Eclipse
[Java] Implementieren Sie eine Funktion, die eine im Builder-Muster implementierte Klasse verwendet
Die Geschichte eines arithmetischen Überlaufs, der in Ruby nicht auftreten sollte
Die Geschichte einer illegalen staatlichen Ausnahme in Jetty.
[Docker] Eine Geschichte über einen Fehler beim Erstellen von Docker
Beim Ausführen einer Funktion in PostgreSQL mit dem Parameter OUT von MyBatis auf CURSOR ist ein Fehler aufgetreten.