Jeg opprettet et nytt Spring Boot-prosjekt med Eclipse og ønsket å distribuere det til Tomcat i form av en krigspakke. Direkte gjennom IDE-verktøyet kan det startes normalt, som vist i figuren nedenfor:
Hvordan pakker jeg et Maven-prosjekt inn i en krigspakke?
Endre pom.xml-filen
Finn prosjektnoden og legg til følgende konfigurasjon:
Ved avhengighetsnoden introduseres spring-boot-starter-tomcat nederst, som følger:
fjær-støvel-starter-tomcat er modifisert tilforutsatt atfor å unngå konflikter med uavhengige tomcat-beholdere, noe som betyr at provided kun brukes ved kompilering og testing, og forsvinner når den pakkes.
Alias prosjektet, finn byggenoden, og legg tilsluttnavnKonfigurasjonen er som følger:
Hvis du ikke legger det til, er prosjektnavnet artifactId-versjonen din, og det genererte war-pakkenavnet er også artifactId-version.war (f.eks. demo-1-0.0.1-SNAPSHOT.war), og prosjektnavnet er for langt når nettleseren åpner det.
Opprett en ServletInitializer-fil, som arver fra SpringBootServletInitializer, og overstyr config-metoden som følger:
Kompil og pakk
Pakketert via maven-kommandoen, er kommandoen som følger:
Fra målkatalogen kan du se de genererte krigspakkene, som vist i følgende figur:
Distribuer til en Docker-container
Først oppretter du en /data/webapps-mappe på vertsmaskinen med følgende kommando:
Start en tomcat-beholder med følgende kommando:
Last opp itsvse.war under /data/webapps-mappen og få tilgang til den gjennom nettleseren din:http://192.168.50.227:8888/itsvse/home/test, som vist i figuren nedenfor:
(Slutt)
|