ava 项目的编译文件经常被打包成 JAR(Java Archive,Java 归档文件)文件,当然,作为学习,有时候也非常想看到这个 JAR 被打包前的源代码是怎么样的。 
下面提供几种查看 JAR 包的源代码方式。

环境

  • JDK 7+
  • Maven 3.2.x
  • Eclipse 4.x

Maven 项目

,如下图设置后,直接双击 要查看的 .class 文件即可,它会自动下载源文件,这样就能看到了

传统的导入 jar 的项目

如果不是通过 Maven 管理的项目,推荐一个反编译工具 Jad ,配合 JadClipse 插件 来将 .class 文件反编译为源码。

安装 Jad

下载 Jad :http://varaneckas.com/jad/

解压到任意目录即可 ,会得到一个 jad.exe 文件

安装 JadClipse

下载地址 http://sourceforge.net/projects/jadclipse/files/latest/download?source=files

解压会得到 net.sf.jadclipse_3.3.0.jar

安装到 eclipse 有几种方式:

1.直接 jar 放入 eclipse 的 plugins子目录下

2.以 link 形式来安装

建一个目录 比如,我这里是 JadClipse ,在该目录下建一个 plugins 文件就爱,将 jar 放到这个文件下,这样就是一个典型的 eclipse 插件了。

建一个 JadClipse.link 文件,里面写上

path=D:/eclipsePlugins/JadClipse

就是指向我们新建的 JadClipse目录,将 JadClipse.link 放入到 eclipse 的 dropins 目录下即可,

重启

配置 JadClipse

配置Jadclipse, 在 Windows - Preferences - Java - JadClipse 下

修改 Path to decompiler 输入我们解压 jad.exe 的位置,如下:

D:\eclipsePlugins\JadClipse\jad158g.win\jad.exe

在 Windows - Preferences - General - Editors - File Associations 下 .class without source 文件类型的默认编辑器为 JadClipse Class File Viewer

重启即可

效果

这是没有源码的

这个是获取源码的

这样,我们就能看到源代码了。

 
 

如何查看 JAR 包的源代码的更多相关文章

  1. IDEA查看第三方jar包的源代码时出现Decompiled.class file, bytecode version:52.0 (Java 8)的解决方案

    IDEA中使用Ctrl+左键查看第三方jar包的源代码时,出现Decompiled.class file, bytecode version:52.0 (Java 8),说明IDEA没找到该类的.ja ...

  2. 如何为libs目录下的jar包关联源代码

    以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...

  3. (原创) Maven查看JAR包的依赖关系

    如果是用命令行,可进入项目所在目录,然后输入: mvn dependency:tree ,来查看jar包依赖关系. 另外还可以在eclipse操作,如下图所示: 点击run后,开始输出JAR包依赖树. ...

  4. java反射查看jar包中所有的类名方法名

    不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; impor ...

  5. 查看jar包内容

    查看jar包内容 查看jar包内容的基本命令: jar tf jar-file 参数解释: The t option indicates that you want to view the table ...

  6. Eclipse 查看第三方jar包文件源代码解决方法

    1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方jar 包,如Spring等相关的依赖包时,并没有附加下载相应的源文件,所以经常出现如图的这种问题. ...

  7. Eclipse 无法查看第三方jar包文件源代码解决方法

    1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方jar 包,如Spring等相关的依赖包时,并没有附加下载相应的源文件,所以经常出现如图的这种问题. ...

  8. eclipse查看jar包源代码乱码问题解决

    文章来源 今天在eclipse中查看java的jar包中的源代码时,显示的全部是乱码.起初只设置了content types还不行,还是乱码.不过问题最后解决了,配置步骤如下: 首先要知道你需要配置的 ...

  9. Eclipse无法查看第三方jar包文件源代码解决方法

    来源于:https://www.cnblogs.com/1995hxt/p/5252098.html 1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方 ...

随机推荐

  1. HDU5908【模拟】

    思路: 找到约数k,然后算一下1-k区间里的数的个数. 中间交换一下就好了,然后把后面每个区间里的数减减,然后再判断一下满足不满足= = #include <bits/stdc++.h> ...

  2. ISCC 2018线上赛 writeup

    今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...

  3. android 通知(android 8.0可用)

      final String CHANNEL_ID = "com.chao.channel.id"; final String CHANNEL_NAME = "com.c ...

  4. PostgreSQL-3-DDL数据定义语言

    1.创建/删除新的数据库 \l  查看现有数据库 \h CREATE DATABASE  查看CREATE DATABASE语句说明 \h DROP DATABASE 查看DROP DATABASE语 ...

  5. [題解](單調隊列/水)luogu_P3088擠奶牛

    d長度內區間最大值,單調隊列維護即可 由於需要滿足左右同時有2倍高度的牛才能更新答案,所以正反跑兩次 #include<bits/stdc++.h> using namespace std ...

  6. 使用top观察一进程的cpu历史占用情况

    #!/bin/shtop -b -n 1 -p 1975| tail -3 >>process1975.log 搞了时间节点,做个定时任务什么的就ok了

  7. Integer一类的比较问题

    总体主要分为两个方面 ①比较的是值 一.基本数据类型与引用数据类型进行比较时,引用数据类型会进行拆箱(自动拆装箱需要在jdk1.5以上),然后与基本数据类型进行值的比较 举例: int i = 12; ...

  8. python里面的list、tuple和dict的区别

    Dictionary .Dictionary是Python中内置的数据类型之一,他定义了键和值之间一对一的关系. 每一个元素都有一个key-value对,整个元素集合用大括号{}括起来. 你可以通过k ...

  9. 简单的UDP程序

    接受端: package com.dcz.udp; import java.io.IOException; import java.net.DatagramPacket; import java.ne ...

  10. CF895 E. Eyes Closed(线段树 期望)

    题意 Sol 今天考试的T3,,我本来留了一个小时去写.但是T2一刚就刚了两个小时 最后也没来的及写.. 然后考完 开始写,,25min就A了.. 感觉自己太高估自己的思维,太低估自己的码力了... ...