J’ai créé un nouveau projet Spring Boot en utilisant Eclipse et je voulais le déployer sur Tomcat sous forme de paquet de guerre. Directement via l’outil IDE, il peut être lancé normalement, comme montré dans la figure ci-dessous :
Comment puis-je intégrer un projet Maven dans un paquet de guerre ?
Modifier le fichier pom.xml
Trouvez le nœud projet et ajoutez la configuration suivante :
Au nœud de dépendances, spring-boot-starter-tomcat est introduit en bas, comme suit :
Spring-boot-starter-tomcat est modifié enpourvu quePour éviter les conflits avec des conteneurs Tomcat indépendants, cela signifie que Provided n’est utilisé que lors de la compilation et des tests, et disparaît lorsqu’il est emballé.
Alias le projet, trouve le nœud de construction, et ajoutefinalNameLa configuration est la suivante :
Si vous ne l’ajoutez pas, le nom du projet est votre version artefactId, et le nom du paquet war généré est aussi artefactId-version.war (par exemple, demo-1-0.0.1-SNAPSHOT.war), et le nom du projet est trop long lorsque le navigateur y accède.
Créez un fichier ServletInitializer, héritant de SpringBootServletInitializer, et supplantez la méthode de configuration comme suit :
Compiler et emballer
Emballée via la commande Maven, la commande est la suivante :
Depuis le répertoire cible, vous pouvez consulter les paquets de guerre générés, comme montré dans la figure suivante :
Déploiement vers un conteneur Docker
Tout d’abord, créez un dossier /data/webapps sur la machine hôte avec la commande suivante :
Démarrez un conteneur Tomcat avec la commande suivante :
Téléchargez itsvse.war dans le dossier /data/webapps et accrez-y via votre navigateur :http://192.168.50.227:8888/itsvse/home/test, comme montré dans la figure ci-dessous :
(Fin)
|