Jeg lavede et nyt Spring Boot-projekt med Eclipse og ville implementere det til Tomcat i form af en krigspakke. Direkte via IDE-værktøjet kan det startes normalt, som vist i figuren nedenfor:
Hvordan pakker jeg et Maven-projekt ind i en krigspakke?
Ændr pom.xml-filen
Find projektnoden og tilføj følgende konfiguration:
Ved afhængighedsnoden introduceres spring-boot-starter-tomcat i bunden, som følger:
spring-boot-starter-tomcat er modificeret tilLeveretFor at undgå konflikter med uafhængige tomcat-containere, hvilket betyder, at Provided kun bruges ved kompilering og test, og forsvinder ved pakke.
Alias projektet, find build-noden og tilføjfinalNameKonfigurationen er som følger:
Hvis du ikke tilføjer det, er projektnavnet din artifactId-version, og det genererede war-pakkenavn er også artifactId-version.war (f.eks. demo-1-0.0.1-SNAPSHOT.war), og projektnavnet er for langt, når browseren åbner det.
Opret en ServletInitializer-fil, der arver fra SpringBootServletInitializer, og overskriv konfigureringsmetoden som følger:
Kompil og pakke
Pakket via maven-kommandoen er kommandoen som følger:
Fra målmappen kan du se de genererede krigspakker, som vist i følgende figur:
Deploy til en Docker-container
Først opretter du en /data/webapps-mappe på værtsmaskinen med følgende kommando:
Start en tomcat-beholder med følgende kommando:
Upload itsvse.war under mappen /data/webapps og få adgang til den via din browser:http://192.168.50.227:8888/itsvse/home/test, som vist i figuren nedenfor:
(Slut)
|