Maison > Java > javaDidacticiel > le corps du texte

Introduction détaillée du package war et du package jar dans springboot (exemple de code)

不言
Libérer: 2018-11-27 17:18:31
avant
3126 Les gens l'ont consulté

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){
//
//    }
}
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

Enfin, spécifiez l'emballage du projet d'entrée comme type de guerre

1 <packaging>war</packaging>
Copier après la connexion

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 :

  • Restaurer l'entrée principale (main). généré par le modèle Springboot, ne le faites pas. Aucune modification)

  • Supprimer la configuration qui exclut Tomcat (cette configuration n'est pas incluse par défaut)

  • Utilisez le plugin maven-jar-plugin pour empaqueter et spécifier l'entrée du programme et diverses exclusions d'inclusions

Restaurer l'entrée principale sans l'annoter, principalement pour l'opération d'entrée principale qui a été annotée juste pour la guerre. Généralement, le modèle springboot est utilisé pour le générer par défaut :

public static void main(String[] args) throws ParseException, Exception {
    SpringApplication springApplication = new SpringApplication(WebApplication.class);
    springApplication.setBannerMode(Banner.Mode.OFF);
    springApplication.run(args);
}
Copier après la connexion

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>-->
Copier après la connexion

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>
Copier après la connexion

Enfin, spécifiez l'emballage du projet d'entrée comme type de guerre :

1 <packaging>jar</packaging>
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal