Publiez le projet Spring-Boot dans le conteneur Tomcat comme d'habitude Projets Web
1. Modifier le formulaire d'emballage
Set <packaging>war</packaging> dans pom.xml
2. Retirez le plug-in Tomcat intégré
Trouvez le nœud de dépendance de Spring-Boot-Starter-Web dans pom.xml, ajoutez-y le code suivant.
<dependency> <proupId> org.springframework.boot </proupId> <ArtifactId> printemp-boot-starter-web </ artifactid> <! - Supprimez le plugin tomcat embarqué -> <clusion> <cuslusion> <proupId> org.springframework.boot </roulid> <ArtefactId> Spring-Boot-Starter-Tomcat </ ArfactId> </clussion> </clusion> </Dependency>
3. Ajouter des dépendances de servlet-API
Les deux méthodes suivantes sont OK, choisissez l'une d'entre elles
<dependency> <proupId> javax.servlet </proncId> <Ertifactid> javax.servlet-api </lefactive> <version> 3.1.0 </-version> <ccope> fourni </ccope> </Dependency> <Dependency> <proupId> org.apache.tomcat </proupId> <ArtifActid> TomCat-Servlet-API </prouniD> <version> 8.0.36 </ version> <ccope> Fourni </ccope> </Dependency>
4. Modifier la classe de démarrage et réécrire la méthode d'initialisation
Nous utilisons généralement la méthode principale pour démarrer et nous avons une classe de démarrage d'application, le code est le suivant:
@SpringBootApplicationPublic class Application {public static void main (String [] args) {springApplication.run (application.class, args); }}Nous avons besoin d'une configuration similaire à web.xml pour démarrer le contexte de ressort. Ajoutez une classe SpringbootStartApplication à son niveau simultané de la classe d'application, et son code est le suivant:
/** * Modify the startup class, inherit SpringBootServletInitializer and overwrite the configure method */public class SpringBootStartApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // Note that here we point to the Application startup class that was originally executed with the main method return builder.sources (application.class); }}5. Package et déploiement
Dans le répertoire racine du projet (c'est-à-dire le répertoire contenant pom.xml), entrez:
Le package MVN Clean est suffisant. Attendez que l'emballage soit terminé. [Info] La construction du succès apparaît et l'emballage est réussi.
Ensuite, placez le package de guerre dans le répertoire cible dans le répertoire WebApps de Tomcat, commencez à Tomcat et décompressez et déploiez automatiquement.
Entrez enfin dans le navigateur
http: // localhost: [numéro de port] / [nom du projet de package] /
La libération a réussi.
PS: Jetons un coup d'œil à la solution du package de guerre Springboot Tomcat Run Startup Erreur (Impossible de déterminer la classe de pilote de base de données intégrée pour le type de base de données)
Notre projet a toujours été exécuté directement par des packages JAR. Hier, mon collègue a dit qu'il voulait l'exécuter à Tomcat, alors je l'ai aidé à faire fortune pendant longtemps. Je vous le présenterai dans l'article. Les amis qui en ont besoin peuvent cliquer pour le voir.
Ensuite, il a été emballé avec succès et déployé dans le Tomcat local et a signalé une erreur de titre lors de son démarrage. Après avoir cherché en ligne, il a été dit que des annotations ont été ajoutées à la classe de démarrage :@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class)
Mon test personnel n'est pas valide.
Solution:
L'annotation pour la classe de démarrage :@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) est valide pour les tests personnels.