当前位置:首页 > 后端开发 > 正文

如何查看Java JAR源码?

使用反编译工具如JD-GUI打开jar文件,或通过IDE(如IntelliJ/Eclipse)关联源码,若jar包含-sources.jar文件,直接导入即可查看源码。

使用IDE直接关联源码(推荐)

主流IDE(如IntelliJ IDEA、Eclipse)支持自动关联源码,操作最便捷:

  1. IntelliJ IDEA

    • 步骤:
      • 打开项目,右键点击依赖的JAR包(在External Libraries中)。
      • 选择 Download Sources(若远程仓库有源码,自动下载)。
      • 或手动关联:
        File → Project Structure → Libraries → 选择JAR → 点击"+"添加源码JAR/目录  
    • 优势:

      调试时可直接跳转源码,支持断点跟踪。

  2. Eclipse

    • 步骤:
      • 右键项目 → PropertiesJava Build PathLibraries
      • 展开JAR包 → 点击 Source Attachment → 指定源码JAR或目录。
    • 提示:
      • 若源码在Maven仓库,安装 M2Eclipse插件 后自动下载。

使用反编译工具(无源码时)

当源码不可获取时,反编译工具可还原近似代码:

  1. JD-GUI(图形化工具)

    如何查看Java JAR源码?  第1张

    • 操作:
      • 下载 JD-GUI,拖入JAR文件即可查看。
    • 特点:

      支持导出全部源码为Java文件。

  2. 命令行工具(CFR/JADX)

    • CFR
      java -jar cfr.jar yourJar.jar --outputdir ./src  
    • JADX
      jadx -d ./output yourJar.jar  # 导出为可读工程  
    • 适用场景:

      需批量处理或集成到脚本中。


通过构建工具下载源码

若项目使用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 导出源码。


从官方渠道获取源码

  1. Maven中央仓库
    • 访问 Maven Repository,搜索JAR包 → 点击版本号 → 下载 -sources.jar
  2. GitHub/GitLab

    直接搜索库名,从开源仓库获取完整项目。

  3. 厂商文档

    如Spring、Apache项目,官网通常提供源码包下载链接。


最佳实践与注意事项

  1. 优先级建议

    首选IDE自动下载 → 构建工具 → 反编译工具。

  2. 版权问题
    • 反编译代码仅限学习,避免商用或改动(遵守许可证)。
  3. 源码完整性

    反编译可能丢失注释或变量名,官方源码最可靠。

引用说明

  • JD-GUI:开源Java反编译工具(GitHub)。
  • CFR:现代Java反编译器(项目主页)。
  • Maven Central:官方依赖仓库(mvnrepository.com)。
  • IntelliJ IDEA/Eclipse:JetBrains/Eclipse基金会提供的IDE文档。
0