如何java打包
Java 打包方法
Java 打包通常指将 Java 项目编译、打包成可执行的 JAR 文件或 WAR 文件(用于 Web 应用)。以下是几种常见的方法:
使用 Maven 打包
在 pom.xml 文件中配置打包插件,运行以下命令生成 JAR 或 WAR 文件:
mvn clean package
生成的 JAR/WAR 文件默认位于 target 目录下。如果需要生成可执行 JAR,需在 pom.xml 中配置 maven-assembly-plugin 或 maven-shade-plugin。
使用 Gradle 打包
在 build.gradle 中配置打包任务,运行以下命令生成 JAR 文件:

gradle build
生成的 JAR 文件位于 build/libs 目录。如需生成可执行 JAR,需在 build.gradle 中配置 application 插件或 shadow 插件(Fat JAR)。
手动打包 JAR 文件
通过 JDK 自带的 jar 命令手动打包:

javac Main.java
jar cvfe app.jar Main *.class
cvfe参数表示创建带清单文件的 JAR,并指定主类。- 生成的
app.jar可直接通过java -jar app.jar运行。
打包为 WAR 文件(Web 应用)
对于 Web 项目,需打包为 WAR 文件。使用 Maven 时,确保 pom.xml 中 <packaging> 设置为 war:
<packaging>war</packaging>
运行 mvn package 后,WAR 文件会生成在 target 目录,可部署到 Tomcat 等容器。
生成 Fat JAR(包含依赖)
使用 Maven 的 maven-shade-plugin 或 Gradle 的 shadowJar 任务将所有依赖打包到单个 JAR 文件中。Maven 配置示例:
<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>
</execution>
</executions>
</plugin>
注意事项
- 确保
MANIFEST.MF文件中指定主类(Main-Class),否则 JAR 无法直接运行。 - 检查依赖是否完整,避免运行时出现
ClassNotFoundException。 - 对于模块化项目(Java 9+),需在
module-info.java中配置模块路径。






