Java项目打包方式汇总

2025-05-09 02:49:48

🤟致敬读者

🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

**1. 使用 Maven****1.1 默认的 `maven-jar-plugin`****1.2 Spring Boot 插件 (`spring-boot-maven-plugin`)****1.3 Maven Shade Plugin****1.4 Maven Assembly Plugin**

**2. 使用 Gradle****2.1 默认的 `jar` 任务****2.2 Spring Boot 插件 (`bootJar`)****2.3 Gradle Shadow Plugin**

**3. 手动打包(命令行)****4. 使用 IDE****4.1 IntelliJ IDEA****4.2 Eclipse**

**5. 使用 Ant****总结推荐**

📃文章前言

🔷文章均为学习工作中整理的笔记。🔶如有错误请指正,共同学习进步。

以下是所有能够将Java项目(特别是Spring Boot项目)打包成JAR包的方式,按工具分类罗列:

1. 使用 Maven

可参考文章:Java项目打包(Maven命令打包)指南(操作简单)

1.1 默认的 maven-jar-plugin

特点:生成普通JAR,不包含依赖。步骤:

确保 pom.xml 中包含 maven-jar-plugin(默认已集成)。运行命令:mvn clean package

生成路径:target/-.jar

1.2 Spring Boot 插件 (spring-boot-maven-plugin)

特点:生成可执行的Fat JAR(包含所有依赖),适用于Spring Boot项目。配置:

org.springframework.boot

spring-boot-maven-plugin

运行命令:mvn clean package

生成路径:target/-.jar

1.3 Maven Shade Plugin

特点:生成包含依赖的Fat JAR,适合非Spring Boot项目。配置:

org.apache.maven.plugins

maven-shade-plugin

3.2.4

package

shade

com.example.MainClass

运行命令:mvn clean package

1.4 Maven Assembly Plugin

特点:自定义打包方式(如包含依赖、资源文件等)。配置:

org.apache.maven.plugins

maven-assembly-plugin

3.3.0

jar-with-dependencies

com.example.MainClass

package

single

运行命令:mvn clean package

2. 使用 Gradle

2.1 默认的 jar 任务

特点:生成普通JAR,不包含依赖。配置(build.gradle):jar {

manifest {

attributes 'Main-Class': 'com.example.MainClass'

}

}

运行命令:./gradlew clean build

生成路径:build/libs/-.jar

2.2 Spring Boot 插件 (bootJar)

特点:生成可执行的Fat JAR,专为Spring Boot项目设计。配置(build.gradle):plugins {

id 'org.springframework.boot' version '2.5.4'

id 'io.spring.dependency-management' version '1.0.11.RELEASE'

}

运行命令:./gradlew clean bootJar

生成路径:build/libs/-.jar

2.3 Gradle Shadow Plugin

特点:生成包含依赖的Fat JAR,适合非Spring Boot项目。配置(build.gradle):plugins {

id 'com.github.johnrengelman.shadow' version '7.1.2'

}

shadowJar {

manifest {

attributes 'Main-Class': 'com.example.MainClass'

}

}

运行命令:./gradlew clean shadowJar

3. 手动打包(命令行)

特点:无需构建工具,但需手动处理依赖和编译。步骤:

编译Java文件:javac -d ./out src/main/java/com/example/*.java

创建清单文件 MANIFEST.MF:Main-Class: com.example.MainClass

Class-Path: libs/dependency1.jar libs/dependency2.jar

打包成JAR:jar cvfm app.jar MANIFEST.MF -C ./out .

4. 使用 IDE

4.1 IntelliJ IDEA

步骤:

File > Project Structure > Artifacts > + > JAR > From modules with dependencies。选择主类并配置依赖。Build > Build Artifacts。

可参考文章:Java项目打包(使用IntelliJ IDEA打包Java项目)

4.2 Eclipse

步骤:

右键项目 > Export > Java > Runnable JAR File。选择主类并配置依赖处理方式(如打包依赖到JAR内)。

5. 使用 Ant

特点:传统构建工具,需手动编写脚本。配置示例(build.xml):

运行命令:ant jar

总结推荐

Spring Boot项目:优先使用 spring-boot-maven-plugin(Maven)或 bootJar(Gradle)。普通Java项目:

需要Fat JAR:用Maven Shade/Assembly插件或Gradle Shadow插件。仅打包代码:用默认的 maven-jar-plugin 或 jar 任务。 快速验证:可使用IDE的导出功能或命令行手动打包。

📜文末寄语

🟠关注我,获取更多内容。🟡技术动态、实战教程、问题解决方案等内容持续更新中。🟢《全栈知识库》技社区,集结全栈各领域开发者,期待你的加入。🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。🟣点击下方名片获取更多内容🍭🍭🍭👇