Cet article vous apporte une introduction détaillée (exemple de code) sur le package war et le package jar dans springboot. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Ce que je partage avec vous dans cet article, c'est d'utiliser maven pour créer des packages war et des packages jar dans springboot ; de manière générale, war peut être directement placé sous les webapps de Tomcat après avoir été configuré pour décompresser automatiquement war. , et jar est généralement un déploiement et un démarrage en ligne de commande
Tout d'abord, pratiquons comment générer un package war, qui peut être divisé en trois étapes :
Transformation de l'entrée du programme
Exclure le Tomcat intégré Springboot
Configurer l'entrée du programme dans le plugin spring-boot-maven-plugin
Entrée du programme Pour la transformation, nous devons bloquer l'entrée principale de Springboot, puis hériter de SpringBootServletInitializer et réécrire la méthode de configuration. Le code spécifique est le suivant :
@SpringBootApplication public class WebApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(WebApplication.class); } // public static void main(String[] args){ // // } }
Exclure le Tomcat intégré de Springboot, par défaut Springboot est intégré au Tomcat intégré, car la guerre doit être envoyée au Tomcat sur notre serveur. n'est pas nécessaire. Vous pouvez configurer le blindage dans maven comme suit :
b86990c77ec45bfad4c402ad0f859e24 b4b38e33757a6497aa8690936b905cc1 05a8acc5c31084a4f61ade01873802caorg.springframework.boot192ca2f7b8c770b01c8f81e6bdd5b947 9bc4cbb67f66e148869423c0d27e5f90spring-boot-starter-tomcatb68fb17cb904a46b73e6272850323873 06db57cb000bdd2564c5b32a302b10e2provided03b1008234ba0cf6ad3c873aea327e8a 09a0e22e5aaafd848ae04665be625b91
Ici, le package tomcat est exclu en définissant la portée sur fournie. Le package tomcat est inclus dans le framework springboot. La fonction par défaut de scope est compiler, compiler, tester et exécuter
spring L'entrée du programme est configurée dans le plug-in -boot-maven-plugin Nous avons. a bloqué l'entrée principale ci-dessus, mais Tomcat utilise toujours la classe de démarrage comme entrée, elle doit donc être configurée pour démarrer mainClass :
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--war包-执行程序入口 --> <configuration> <mainClass>com.platform.WebApplication</mainClass> </configuration> </plugin>
Enfin, spécifiez l'emballage du projet d'entrée comme type de guerre
1 <packaging>war</packaging>
Comme ci-dessus, nos préparatifs sont terminés. Ensuite, nous venons juste d'emballer le colis. La capture d'écran après génération est la suivante :
Le contenu du package war est les parties META-INF et WEB-INF. Téléchargeons la guerre sur Tomcat sous Linux. webapps, en général, la configuration de Tomcat décompressera automatiquement le package war. J'ai déjà écrit une interface API ici. Après une opération réussie, elle s'affichera normalement dans le navigateur :
Ensuite, nous commençons à construire le package jar. Les étapes sont similaires à celles de la guerre, mais l'inverse consiste à supprimer le contenu du commentaire :
public static void main(String[] args) throws ParseException, Exception { SpringApplication springApplication = new SpringApplication(WebApplication.class); springApplication.setBannerMode(Banner.Mode.OFF); springApplication.run(args); }Supprimez la configuration pour exclure Tomcat (il n'existe pas de tel configuration par défaut). La même étape ajoute également la configuration pour exclure Tomcat for war. Supprimez-le simplement directement Supprimer :
<!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-tomcat</artifactId>--> <!--<scope>provided</scope>--> <!--</dependency>-->Utilisez maven-. plug-in jar-plugin à empaqueter, spécifiez l'entrée du programme et diverses inclusions |, configurez ici certains éléments via le plug-in jar, spécifiez le fichier de configuration et l'entrée principale :
<!--打jar包--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <!--<addClasspath>true</addClasspath>--> <!--<classpathPrefix>lib/</classpathPrefix>--> <!--main入口--> <mainClass>com.platform.WebApplication</mainClass> </manifest> </archive> <!--包含的配置文件--> <!--<includes>--> <!--<include>*.yml</include>--> <!--<include>*.properties</include>--> <!--<include>templates/**</include>--> <!--<include>static/**</include>--> <!--<include>*.xml</include>--> <!--</includes>--> </configuration> </plugin>
Enfin, spécifiez l'emballage du projet d'entrée comme type de guerre :
1 <packaging>jar</packaging>Après avoir terminé les étapes ci-dessus, vous pouvez voir le pot réussi package, comme le montre la figure : Enfin, transmettez java -jar web-0.0.01 sous Linux Démarrez simplement le .SN...jar.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!