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 :
<!--war包-排除内置tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
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); }
<!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-tomcat</artifactId>--> <!--<scope>provided</scope>--> <!--</dependency>-->
<!--打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>
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!