Ich habe ein neues Spring Boot-Projekt mit Eclipse erstellt und wollte es in Form eines Kriegspakets auf Tomcat einsetzen. Direkt über das IDE-Werkzeug kann es normal gestartet werden, wie in der untenstehenden Abbildung gezeigt:
Wie paketiere ich ein Maven-Projekt in ein War-Paket?
Ändern Sie die pom.xml-Datei
Finden Sie den Projektknoten und fügen Sie folgende Konfiguration hinzu:
Am Abhängigkeitsknoten wird am unteren Ende spring-boot-starter-tomcat eingeführt, wie folgt:
Spring-Boot-Starter-Tomcat ist modifiziert zusofernUm Konflikte mit unabhängigen Tomcat-Containern zu vermeiden, was bedeutet, dass Provided nur beim Kompilieren und Testen verwendet wird und beim Paketieren verschwindet.
Alias das Projekt, finde den Build-Node und füge das Hinzufügen hinzufinalNameDie Konfiguration ist wie folgt:
Wenn du es nicht hinzufügst, ist der Projektname deine ArtifactId-version, und der generierte War-Paketname ist ebenfalls artifactId-version.war (z. B. demo-1-0.0.1-SNAPSHOT.war), und der Projektname ist zu lang, wenn der Browser darauf zuruft.
Erstellen Sie eine ServletInitializer-Datei, die von SpringBootServletInitializer erbt, und überschreiben Sie die Configure Method wie folgt:
Kompilieren und Pakete
Per Maven-Befehl paketiert, lautet der Befehl wie folgt:
Aus dem Zielverzeichnis können Sie die generierten Kriegspakete ansehen, wie in der folgenden Abbildung dargestellt:
Deploy auf einen Docker-Container
Zuerst erstelle einen /data/webapps-Ordner auf dem Host-Rechner mit folgendem Befehl:
Starte einen Tomcat-Container mit folgendem Befehl:
Lade itsvse.war unter den /data/webapps-Ordner hoch und greife über deinen Browser darauf zu:http://192.168.50.227:8888/itsvse/home/test, wie in der untenstehenden Abbildung dargestellt:
(Ende)
|