Ho creato un nuovo progetto Spring Boot usando Eclipse e volevo distribuirlo su Tomcat sotto forma di pacchetto di guerra. Direttamente tramite lo strumento IDE, può essere avviato normalmente, come mostrato nella figura sottostante:
Come posso confezionare un progetto Maven in un pacchetto di guerra?
Modifica il file pom.xml
Trova il nodo progetto e aggiungi la seguente configurazione:
Nel nodo delle dipendenze, in fondo viene introdotto spring-boot-starter-tomcat, come segue:
Spring-Boot-Starter-Tomcat è modificato ina condizione cheper evitare conflitti con container Tomcat indipendenti, il che significa che Provided viene usato solo durante la compilazione e il test, e scompare quando viene confezionato.
Alias il progetto, trova il nodo build e aggiungifinalNameLa configurazione è la seguente:
Se non lo aggiungi, il nome del progetto è la tua versione artefactId, e il nome del pacchetto war generato è anche artefactId-version.war (ad esempio, demo-1-0.0.1-SNAPSHOT.war), e il nome del progetto è troppo lungo quando il browser lo accede.
Crea un file ServletInitializer, ereditando da SpringBootServletInitializer, e sovrascrivi il metodo configure come segue:
Compila e impacchetta
Confezionato tramite comando Maven, il comando è il seguente:
Dalla directory dei bersagli, puoi visualizzare i pacchetti di guerra generati, come mostrato nella figura seguente:
Distribuire su un container Docker
Per prima cosa, crea una cartella /data/webapps sulla macchina host con il seguente comando:
Avvia un contenitore Tomcat con il seguente comando:
Carica itsvse.war nella cartella /data/webapps e accedi tramite il tuo browser:http://192.168.50.227:8888/itsvse/home/test, come mostrato nella figura sottostante:
(Fine)
|