maven 如何打包java
使用 Maven 打包 Java 项目
Maven 是一个强大的构建工具,可以自动化 Java 项目的编译、测试和打包。以下是使用 Maven 打包 Java 项目的步骤:
配置 pom.xml
确保 pom.xml 文件包含必要的构建配置。以下是一个基本示例:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
执行打包命令
在项目根目录下运行以下命令进行打包:
mvn clean package
此命令会执行以下操作:
clean清理target目录package编译代码并生成 JAR 文件
检查输出
打包完成后,生成的 JAR 文件默认位于 target 目录下,例如:
ls target/my-app-1.0-SNAPSHOT.jar
运行打包后的 JAR
使用以下命令运行 JAR 文件:

java -jar target/my-app-1.0-SNAPSHOT.jar
可选:生成可执行 JAR(包含依赖)
如果项目依赖其他库,可以使用 maven-assembly-plugin 或 maven-shade-plugin 生成包含依赖的 Fat JAR。
使用 maven-shade-plugin
在 pom.xml 中添加:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.example.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
重新运行 mvn clean package,生成的 JAR 文件将包含所有依赖项。

可选:跳过测试
如果希望在打包时跳过测试,可以使用:
mvn clean package -DskipTests
可选:生成 WAR 文件(Web 项目)
对于 Web 项目,修改 pom.xml 的 <packaging> 为 war:
<packaging>war</packaging>
并添加 maven-war-plugin(可选):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
运行 mvn clean package 后,生成的 WAR 文件位于 target 目录。
总结
- 使用
mvn clean package进行打包 - 配置
pom.xml以指定主类或依赖管理 - 可选插件(如
shade、assembly)可用于生成包含依赖的 JAR - 修改
<packaging>为war可打包 Web 项目






