Maison  >  Article  >  Java  >  Quelle est la méthode d'empaquetage du pot dans le projet Java Maven ?

Quelle est la méthode d'empaquetage du pot dans le projet Java Maven ?

WBOY
WBOYavant
2023-04-29 18:31:142562parcourir

Le packaging Maven peut généralement générer deux types de packages : l'un est un package qui peut être exécuté directement et l'autre est un package dépendant (juste un package compilé). Les packages Maven sont jar par défaut, si vous devez modifier d'autres types. Pom.xml peut être modifié

<packaging>jar/ear/ejb</packaging>

Les plug-ins introduits par défaut dans les projets Maven :

Quelle est la méthode dempaquetage du pot dans le projet Java Maven ?

1 Jar général (ne peut pas s'exécuter)

Le jar généré est juste un package compilé et. n'emballe pas le sac de pots dépendants. Il ressort du journal de compilation de la console que le plug-in maven-jar-plugin:2.4 est utilisé.插java compile plug-in, vous pouvez définir la version du JDK, etc. (Si vous ne définissez pas la valeur par défaut, vous pouvez définir le

<!-- java编译插件 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

méthode 1 : méthode de ligne de commande L'exécution de la console MVN CLEAN Package

Méthode 2 : Utilisation de la souris Maven->Plugins->clean->package

2. pot peut généralement être généré directement via java -jar Exécuter directement Méthode 1 : framework SpringBoot (dépend dans jar)

Cette méthode est empaquetée à l'aide du plugin spring-boot-maven

Étape 1. : pom.xml Ajoutez

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.4.0</version>
    <configuration>
        <fork>true</fork>
        <!--指定启动的入口,可以省略,springboot会自动查找启动类-->
        <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
    </configuration>
</plugin>

Quelle est la méthode dempaquetage du pot dans le projet Java Maven ?Étape 2 : Exécution de la console

mvn clean package spring-boot:repackage

Remarque : Si le parent (facultatif) est spécifié dans le fichier pom actuel

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.0</version>
</parent>
La commande de console n'a besoin que à exécuter

mvn clean package

Méthode 2 : Séparer les packages dépendants et les packages de projet (dépend du répertoire externe lib)

Quelle est la méthode dempaquetage du pot dans le projet Java Maven ?

Sortie du package JAR dépendant dans le répertoire lib (la méthode d'empaquetage est commun pour les projets JAVA). Cette méthode nécessite l'introduction du plug-in maven-jar-plugin

Étape 1 : Ajouter pom.xml
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

Étape 2 : Exécution de la console

mvn clean dependency:copy. -dependencies -DoutputDirectory=target/lib package

Remarque : Si nous simplifions la commande d'exécution de la console, nous pouvons ajouter la configuration du plug-in

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
puis exécuter la console

mvn clean package

Méthode 3 : Packages et projets dépendants dans un seul pot (projet non Springboot)

Cette méthode utilise le plug-in maven-assembly-plugin, mais cette méthode ne copie pas le pot dépendant dans le pot final, mais copie le fichier de classe de le pot dépendant au pot final, donc cette méthode sera perdue. Certains fichiers de ressources, donc le projet Springboot ne démarrera pas

Étape 1 : Ajouter pom (colonne de droite) ->Sélectionner les plugins->Sélectionner l'assemblage->. ;Cliquez sur assembly:assemblyQuelle est la méthode dempaquetage du pot dans le projet Java Maven ?

Résumé : Seules la méthode 1 et la méthode 2 peuvent être utilisées pour que les projets Springboot démarrent normalement.

3. Packaging du projet Scala

La première étape : ajoutez

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.5</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.lx.buildjarpackage.BuildJarPackageApp</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
</plugin>

au build>plugins de la barre pom) ->Sélectionnez Lifecycle->Cliquez sur le package ou installez-le dans le package

4. packaging

Quelle est la méthode dempaquetage du pot dans le projet Java Maven ?

Étape 1 : Ajoutez

<plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                    <goal>testCompile</goal>
                </goals>
        </execution>
    </executions>
    <configuration>
        <scalaVersion>${scala.version}</scalaVersion>
        <args>
            <arg>-target:jvm-1.5</arg>
        </args>
    </configuration>
</plugin>

au build>plugins de pom.xml Étape 2 : Exécution de la console

maven clean package

ou exécutez le projet maven avec la souris (colonne de droite) ->Sélectionnez Cycle de vie -> Cliquez sur le package ou installez-le sur le package

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer