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 :
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>
<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>
É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>
Méthode 2 : Séparer les packages dépendants et les packages de projet (dépend du répertoire externe lib)
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<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>
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:assembly
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>
<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>
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!