下面我来详细讲解一下 Maven 工程打包 jar 的多种方式。
Maven 是一个功能强大的构建工具,可以实现项目的自动化构建、测试和部署等,而制作 Jar 包作为项目的一部分就显得尤为重要了。在使用 Maven 打包 Jar 包时,有多种方式可以选择。
方式一:使用 Maven 插件打包
Maven 提供了一个非常便捷的打包方式,即使用 Maven 的插件来进行打包。使用 Maven 插件打包,只需要在 pom.xml 文件中配置一下插件,并执行 Maven 的打包命令即可。
示例:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
配置说明:
maven-jar-plugin
:该插件用来打包项目成 Jar 包。configuration
:插件配置信息。archive
:指定打包时 Jar 包的一些信息,例如 MANIFEST.MF 文件、依赖包、类文件等。manifest
:指定 MANIFEST.MF 文件的一些信息,例如 Main Class 等。
在配置文件中声明好之后,执行 Maven 命令即可将项目打成 Jar 包。
命令如下:
mvn package
方式二:使用 Maven Assembly 插件打包
Maven Assembly 插件可以将多个 Jar 包合并成一个 Jar 包。相比使用 Maven 标准插件进行打包,使用 Maven Assembly 插件可以更加灵活地控制打包过程和结果。
先配置 pom.xml 文件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
配置说明:
maven-assembly-plugin
:该插件用来将多个 Jar 包合并成一个 Jar 包。configuration
:插件配置信息。archive
:指定打包时 Jar 包的一些信息,例如 MANIFEST.MF 文件、依赖包、类文件等。manifest
:指定 MANIFEST.MF 文件的一些信息,例如 Main Class 等。descriptorRefs
:指定采用哪种打包方式。jar-with-dependencies
:将依赖包打成一个包括当前项目和依赖包在内的 Jar 包。
执行命令,将项目打成可执行的 Jar 包:
mvn package
以上两种方式均是常用的 Maven 工程打包 Jar 的方式。需要根据实际开发需求来选择合适的打包方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Maven工程打包jar的多种方式 - Python技术站