如何查看 JAR 包的源代码
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 包的源代码的更多相关文章
- 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 ...
- 如何为libs目录下的jar包关联源代码
以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...
- (原创) Maven查看JAR包的依赖关系
如果是用命令行,可进入项目所在目录,然后输入: mvn dependency:tree ,来查看jar包依赖关系. 另外还可以在eclipse操作,如下图所示: 点击run后,开始输出JAR包依赖树. ...
- java反射查看jar包中所有的类名方法名
不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; impor ...
- 查看jar包内容
查看jar包内容 查看jar包内容的基本命令: jar tf jar-file 参数解释: The t option indicates that you want to view the table ...
- Eclipse 查看第三方jar包文件源代码解决方法
1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方jar 包,如Spring等相关的依赖包时,并没有附加下载相应的源文件,所以经常出现如图的这种问题. ...
- Eclipse 无法查看第三方jar包文件源代码解决方法
1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方jar 包,如Spring等相关的依赖包时,并没有附加下载相应的源文件,所以经常出现如图的这种问题. ...
- eclipse查看jar包源代码乱码问题解决
文章来源 今天在eclipse中查看java的jar包中的源代码时,显示的全部是乱码.起初只设置了content types还不行,还是乱码.不过问题最后解决了,配置步骤如下: 首先要知道你需要配置的 ...
- Eclipse无法查看第三方jar包文件源代码解决方法
来源于:https://www.cnblogs.com/1995hxt/p/5252098.html 1.打开第三方依赖包,源文件的快捷键:ctrl + mouseClick 2.由于我们下载的第三方 ...
随机推荐
- HDU5908【模拟】
思路: 找到约数k,然后算一下1-k区间里的数的个数. 中间交换一下就好了,然后把后面每个区间里的数减减,然后再判断一下满足不满足= = #include <bits/stdc++.h> ...
- ISCC 2018线上赛 writeup
今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...
- android 通知(android 8.0可用)
final String CHANNEL_ID = "com.chao.channel.id"; final String CHANNEL_NAME = "com.c ...
- PostgreSQL-3-DDL数据定义语言
1.创建/删除新的数据库 \l 查看现有数据库 \h CREATE DATABASE 查看CREATE DATABASE语句说明 \h DROP DATABASE 查看DROP DATABASE语 ...
- [題解](單調隊列/水)luogu_P3088擠奶牛
d長度內區間最大值,單調隊列維護即可 由於需要滿足左右同時有2倍高度的牛才能更新答案,所以正反跑兩次 #include<bits/stdc++.h> using namespace std ...
- 使用top观察一进程的cpu历史占用情况
#!/bin/shtop -b -n 1 -p 1975| tail -3 >>process1975.log 搞了时间节点,做个定时任务什么的就ok了
- Integer一类的比较问题
总体主要分为两个方面 ①比较的是值 一.基本数据类型与引用数据类型进行比较时,引用数据类型会进行拆箱(自动拆装箱需要在jdk1.5以上),然后与基本数据类型进行值的比较 举例: int i = 12; ...
- python里面的list、tuple和dict的区别
Dictionary .Dictionary是Python中内置的数据类型之一,他定义了键和值之间一对一的关系. 每一个元素都有一个key-value对,整个元素集合用大括号{}括起来. 你可以通过k ...
- 简单的UDP程序
接受端: package com.dcz.udp; import java.io.IOException; import java.net.DatagramPacket; import java.ne ...
- CF895 E. Eyes Closed(线段树 期望)
题意 Sol 今天考试的T3,,我本来留了一个小时去写.但是T2一刚就刚了两个小时 最后也没来的及写.. 然后考完 开始写,,25min就A了.. 感觉自己太高估自己的思维,太低估自己的码力了... ...