Die aktuellste Version (Stand: 13. Dezember 2016) ist Spring Boot 1.4.2.RELEASE und die Standardeinstellung ist 8.5.6 für Tomcat. Sie können die Version von Tomcat einfach ändern, indem Sie ein Projekt über SPRING INITIALIZR erstellen.
Wenn Sie Maven als Build-Tool verwenden, geben Sie einfach die Version in den Eigenschaften an, wie unten gezeigt.
<properties>
<!-- ... -->
<tomcat.version>8.5.8</tomcat.version>
</properties>
Vorerst ... Tomcat verwendet die Standardportnummer (8080) nicht mehr: schreien:
Der Inhalt des Fehlers lautet "Adresse wird bereits verwendet". In gewissem Sinne ist dies ein häufiger Fehler, der auftreten kann, wenn Sie mehrere Spring Boot-Anwendungen gleichzeitig berühren und diese noch ausgeführt werden.
...
2016-12-11 03:12:06.364 ERROR 20786 --- [ main] o.a.coyote.http11.Http11NioProtocol : Failed to start end point associated with ProtocolHandler [http-nio-8080]
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_102]
at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_102]
...
Aber dieses Mal läuft keine andere App und es gibt keinen Zombie-Prozess ...
Ich werde nicht auf die Details eingehen, aber wenn ich den integrierten Tomcat 8.5.8 in Spring Boot verwende, erstelle ich versehentlich zwei "Connector" für Tomcat. Standardmäßig verwenden beide den 8080-Port, sodass "Adresse wird bereits verwendet" angezeigt wird ...
Versuchen Sie, die Server-Portnummer mithilfe der Spring Boot-Eigenschaften auf 18080 zu ändern ...
server.port=18080
Das folgende Protokoll wird ausgegeben und der Server wird gestartet.
...
2016-12-11 03:15:39.717 INFO 20842 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 18080 (http)
2016-12-11 03:15:39.721 INFO 20842 --- [ main] com.example.Tomcat858DemoApplication : Started Tomcat858DemoApplication in 2.639 seconds (JVM running for 3.076)
Es startet, aber ... 8080 (Connector von Tomcat) und 18080 (Connector von Spring Boot) haben Tomcat gestartet und auf eine Anfrage gewartet: müde_gesicht:
Andy Wilkinson von Spring Boot's Core Committer, einem Projektmitglied des Spring Project, hat einen Fehler gemeldet! !!
Der Inhalt ist der gleiche wie der hier vorgestellte, aber da das Problem auf der Spring Boot-Seite auftritt, werde ich einen Link veröffentlichen.
Nun, ich denke, es ist am besten, Tomcat 8.5.6 gehorsam zu verwenden. Wenn Sie aus irgendeinem Grund eine höhere Version anstelle von 8.5.6 verwenden müssen, versuchen Sie es mit 8.5.9. Vorerst ging es los: Sweat_smile: Ich habe die Ursache nicht gesehen, aber als ich sie auf 8.5.9 erhöhte und veröffentlichte, trat im Spring Boot-Test ein Fehler auf. Selbst mit 8.5.9 kann es einige Dinge geben, die in Kombination mit Spring Boot nicht gut funktionieren. Hmm.
Verwenden Sie Tomcat, das von Ihrem Spring Boot abhängt, es sei denn, Sie haben einen bestimmten Grund. Zumindest muss es sich um eine bewährte Version handeln, die in früheren Versionen von Spring Boot verwendet wurde ... Sie sollten sich bewusst sein, dass Sie einem erhöhten Risiko für schwerwiegende Fehlfunktionen ausgesetzt sind.
Recommended Posts