上一篇
如何查看Java JAR源码?
- 后端开发
- 2025-06-10
- 2228
使用反编译工具如JD-GUI打开jar文件,或通过IDE(如IntelliJ/Eclipse)关联源码,若jar包含-sources.jar文件,直接导入即可查看源码。
使用IDE直接关联源码(推荐)
主流IDE(如IntelliJ IDEA、Eclipse)支持自动关联源码,操作最便捷:
-
IntelliJ IDEA
- 步骤:
- 打开项目,右键点击依赖的JAR包(在
External Libraries
中)。 - 选择 Download Sources(若远程仓库有源码,自动下载)。
- 或手动关联:
File → Project Structure → Libraries → 选择JAR → 点击"+"添加源码JAR/目录
- 打开项目,右键点击依赖的JAR包(在
- 优势:
调试时可直接跳转源码,支持断点跟踪。
- 步骤:
-
Eclipse
- 步骤:
- 右键项目 → Properties → Java Build Path → Libraries。
- 展开JAR包 → 点击 Source Attachment → 指定源码JAR或目录。
- 提示:
- 若源码在Maven仓库,安装 M2Eclipse插件 后自动下载。
- 步骤:
使用反编译工具(无源码时)
当源码不可获取时,反编译工具可还原近似代码:
-
JD-GUI(图形化工具)
- 操作:
- 下载 JD-GUI,拖入JAR文件即可查看。
- 特点:
支持导出全部源码为Java文件。
- 操作:
-
命令行工具(CFR/JADX)
- CFR:
java -jar cfr.jar yourJar.jar --outputdir ./src
- JADX:
jadx -d ./output yourJar.jar # 导出为可读工程
- 适用场景:
需批量处理或集成到脚本中。
- CFR:
通过构建工具下载源码
若项目使用Maven/Gradle,可一键获取源码:
-
Maven:
执行命令:mvn dependency:sources # 下载依赖的源码 mvn dependency:resolve -Dclassifier=javadoc # 下载Javadoc
源码自动保存到本地仓库(
~/.m2/repository
)。 -
Gradle:
在build.gradle
中添加:apply plugin: 'java' task downloadSources(type: Sync) { from configurations.compileClasspath into "libs/sources" include { it.name.endsWith('-sources.jar') } }
运行
gradle downloadSources
导出源码。
从官方渠道获取源码
- Maven中央仓库
- 访问 Maven Repository,搜索JAR包 → 点击版本号 → 下载
-sources.jar
。
- 访问 Maven Repository,搜索JAR包 → 点击版本号 → 下载
- GitHub/GitLab
直接搜索库名,从开源仓库获取完整项目。
- 厂商文档
如Spring、Apache项目,官网通常提供源码包下载链接。
最佳实践与注意事项
- 优先级建议:
首选IDE自动下载 → 构建工具 → 反编译工具。
- 版权问题:
- 反编译代码仅限学习,避免商用或改动(遵守许可证)。
- 源码完整性:
反编译可能丢失注释或变量名,官方源码最可靠。
引用说明:
- JD-GUI:开源Java反编译工具(GitHub)。
- CFR:现代Java反编译器(项目主页)。
- Maven Central:官方依赖仓库(mvnrepository.com)。
- IntelliJ IDEA/Eclipse:JetBrains/Eclipse基金会提供的IDE文档。