Stworzyłem nowy projekt Spring Boot używając Eclipse i chciałem wdrożyć go na Tomcat w formie pakietu wojennego. Bezpośrednio za pomocą narzędzia IDE można go uruchomić normalnie, jak pokazano na poniższym rysunku:
Jak zapakować projekt Maven w pakiet wojenny?
Zmodyfikuj plik pom.xml
Znajdź węzeł projektu i dodaj następującą konfigurację:
W węźle zależności, na dole wprowadzono spring-boot-starter-tomcat, w następujący sposób:
Spring-boot-starter-tomcat został zmodyfikowany doDostarczaneAby uniknąć konfliktów z niezależnymi kontenerami Tomcat, co oznacza, że Provided jest używany tylko podczas kompilacji i testowania, a znika po pakowaniu.
Alias projekt, znajdź węzeł budowania i dodajFinalNameKonfiguracja wygląda następująco:
Jeśli go nie dodasz, nazwa projektu to twoja wersja artifactId, a generowany pakiet wojenny to także artifactId-version.war (np. demo-1-0.0.1-SNAPSHOT.war), a nazwa projektu jest zbyt długa, gdy przeglądarka go uruchomi.
Utwórz plik ServletInitializer, dziedzicząc po SpringBootServletInitializer, i nadpisuj metodę konfiguracji w następujący sposób:
Kompilacja i pakowanie
Pakietowane za pomocą polecenia maven, polecenie wygląda następująco:
Z katalogu docelowego możesz zobaczyć wygenerowane pakiety wojenne, jak pokazano na poniższym rysunku:
Wdrożenie do kontenera Docker
Najpierw stwórz folder /data/webapps na komputerze gospodarza za pomocą następującego polecenia:
Rozpocznij kontener Tomcat następującym poleceniem:
Prześlij itsvse.war do folderu /data/webapps i uzyskaj dostęp przez przeglądarkę:http://192.168.50.227:8888/itsvse/home/test, jak pokazano na poniższym rysunku:
(Koniec)
|