Am creat un nou proiect Spring Boot folosind Eclipse și am vrut să-l implementez pe Tomcat sub forma unui pachet de război. Direct prin instrumentul IDE, poate fi pornit normal, așa cum se arată în figura de mai jos:
Cum împachetez un proiect Maven într-un pachet de război?
Modifică fișierul pom.xml
Găsește nodul proiectului și adaugă următoarea configurație:
La nodul dependențelor, spring-boot-starter-tomcat este introdus în partea de jos, după cum urmează:
spring-boot-starter-tomcat este modificat pentruFurnizatepentru a evita conflictele cu containerele Tomcat independente, ceea ce înseamnă că Provided este folosit doar la compilare și testare și dispare când este ambalat.
Folosește proiectul ca alias, găsește nodul de construcție și adaugăfinalNameConfigurația este următoarea:
Dacă nu îl adaugi, numele proiectului este versiunea artefactId, iar numele pachetului war generat este tot artifactId-version.war (de exemplu, demo-1-0.0.1-SNAPSHOT.war), iar numele proiectului este prea lung când browserul îl accesează.
Creează un fișier ServletInitializer, moștenind de la SpringBootServletInitializer, și suprascrie metoda de configurare astfel:
Compilare și pachet
Ambalată prin comanda Maven, comanda este următoarea:
Din directorul țintă, puteți vizualiza pachetele de război generate, așa cum este arătat în figura următoare:
Implementare pe un container Docker
Mai întâi, creează un folder /data/webapps pe mașina gazdă cu următoarea comandă:
Pornește un container tomcat cu următoarea comandă:
Încarcă itsvse.war în folderul /data/webapps și accesează-l prin browser:http://192.168.50.227:8888/itsvse/home/test, așa cum se arată în figura de mai jos:
(Sfârșit)
|