学习项目代码的时候想要看一下Cookie的源码,已经确定下载到了本地,可是Ctrl+左键点进去,提示source not found(如下图),百度了以后,大家普遍认为需要安装反编译插件jad。

看了几个教程,尝试安装了好几次都没有成功,就是明明我安装了jad插件,也关联了.class文件的文档编辑器,可是依然提示source not found。

最后一次卸载了,然后按照其中一个教程重新安装终于成功,决定把整个过程记录一下。

一、下载必要的软件、插件

1. jad.exe 下载地址:http://varaneckas.com/jad/

2. net.sf.jadclipse_3.3.0.jar 下载地址:http://sourceforge.net/projects/jadclipse/

二、安装软件和插件

1. 新建一个目录存放jad.exe及其临时文件,我这里新建的目录为D:\ProgramFiles\jad\,jad.exe直接放在此目录下,再在此目录下新建一个jadfile用于存放临时文件,如下图。


2. 把下载的net.sf.jadclipse_3.3.0.jar放到eclipse的plugins目录下。

三、在eclipse中作相应的配置

1. 设置jad.exe的安装路径和生成的临时文件路径:Windows—>Preferences—>Java—>JadClipse,如下图所示。

注意:(1) 把net.sf.jadclipse_3.3.0.jar放到eclipse的plugins目录下之后需要重启eclipse才能在此处看到JadClipse选项。

(2) Path to decompiler必须填写jad.exe的完整绝对路径(不过我尝试了一下不写文件后缀也可以正常反编译)

2. 修改.class和.class without source文件关联的编辑器,注意一定要把jad设为默认的编辑器,如下图。

按照一、二、三步骤进行即可反编译源码。在写这篇文章的时候我又仔细看了下前人写的教程,我发现一些需要注意的地方他也有提到,只是当时我没有注意到,我经常会同时参考好几个教程,发现不行就会尝试另一个,由于急于解决问题而忽略了一些关键点,所以以后一定要仔细按照别人的教程去做,如果确定没有疏漏还是没有解决问题再去尝试其他的。

网络上的解决方案林林总总,但不是对每一个人都适用,有的人教程写的不详细,就会埋一些坑;也有很多比较好的教程值得我们借鉴。ps:其实我也不能保证我写的这篇解决方案没有坑,只是解决了我当下的问题,拿出来分享一下。

2018/1/30 补充:

如果配置好的jad失效,那么进jad的设置(两个位置),都重新打开设置并应用下就能恢复正常使用了。

2018/2/5 补充:

如果配置好的jad失效,那么进jad的设置(两个位置),都重新选择激活一下文本框,然后应用关闭即可,可能是某些错误导致了这个问题。

步骤:删除 eclipse/configuration/org.eclipse.update 目录,重启eclipse,重新选择激活一下文本框,应用关闭后就能正常使用在eclipse里用jad打开class文件了

可能会失败,多打开几次就能正常使用了

还有一种是查看jdk的官方源码的方法:

在“perferences”窗口下,选择java->Incelled jres

在edit jre对话框中,找到以“rt.jar”结尾的文件。点击展开。

选择“ Source Attachment”。点击。

在 “Source Attachment”对话框下,选择”External location“。路径为安装java JDK时的路径,关键是在此路径下,找到src.zip,就行了。

Eclipse无法查看源码 提示source not found的更多相关文章

  1. 框架源码系列五:学习源码的方法(学习源码的目的、 学习源码的方法、Eclipse里面查看源码的常用快捷键和方法)

    一. 学习源码的目的 1. 为了扩展和调优:掌握框架的工作流程和原理 2. 为了提升自己的编程技能:学习他人的设计思想.编程技巧 二. 学习源码的方法 方法一: 1)掌握研究的对象和研究对象的核心概念 ...

  2. 33 Eclipse无法查看源码解决

    问题如图 点击 Attach Source 解决方法 下载src.zip包,src包地址:https://pan.baidu.com/s/1oAqqqHO 选择此src包即可

  3. eclipse如何查看源码

    方式一: Source not found The JAR file X:\xxxx\xxxx\xxxx\xx has no source attachment. 没有源附件. You can att ...

  4. eclipse 查看源码 source not found

    是因为eclipse里面没有设置好源码路径. 源码路径在jdk安装包里面 C:/Program Files/Java/jdk1.8.0_191/src.zip  这个src.zip文件, 设置ecli ...

  5. eclipse查看源码

    通常eclipse中按住ctrl+左键单击,可以查看源码,很方便学习使用 如果看不到源码,需要简单的设置 设置源码 window—preference--Java—Installed JREs –jr ...

  6. 解决eclipse为什么不能查看源码

    Java eclipse中查看源代码ctrl+左键单击 一.你是第一次使用该功能,没有导入项目源码,故无法查看源码 解决方法: ​1.点 “window“-> “Preferences”-> ...

  7. eclipse查看源码失败总结

    之前看的网上查看源码的方法,查看了JDK,只是知其然不知所以然. 后来发现要是查看其他源码,总是查看失败. 最开始每次点击Attach  Source包到所要查看源码的jar包,但是还是这样. 但是依 ...

  8. Android 如何查看源码 (eclipse 按住 ctrl )

    首先要确认 Android SDK Manager 下载并安装了 sources.然后在代码中按住 ctrl 在点一个类名, 如果打开的页面是找不到源码,就点那个按钮,然后找到源码所在的文件夹,就可以 ...

  9. eclipse调试jdk源码

    摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...

随机推荐

  1. cxfreeze打包python程序的方法说明(生成安装包,实现桌面快捷方式、删除快捷方式)

    一.cxfreeze基础 1.cxfreeze功能 python代码文件转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller,这三种方式各有千秋,本人只用过py2exe和 ...

  2. 用eval似乎会执行结果一次性返回,结果显示的是一行

    with open(r'商品资料','r',encoding='utf-8') as f1: lis_goods = eval(f1.read()) # 用eval似乎会执行结果一次性返回,结果显示的 ...

  3. Spring 容器介绍

    Spring 框架的实现依赖 IoC (反向控制) 原则,更为形象的称呼是 DI (依赖注入).相对于 Bean 直接构造依赖的对象,Spring 框架则根据 Bean之间的依赖关系创建对象,并注入到 ...

  4. 4种Java日志管理方法

    java开发中常见的几种日志管理方案有以下4种: 1. Commons-logging + log4j 2. log4j 3. slf4j + log4j + commmons-logging 4. ...

  5. KVOController原理解析

    1.使用类似动态代理的模式和消息派发中枢模式实现整个架构: 2.使用NSMapTable和NSHashTable进行切面信息的增删查维护:主要用于去重和查看是否存在. 实现方式 消息流 KVOCont ...

  6. 学习Android之SimpleAdapter显示网络图片

    效果图: 此程序基本的知识点是:SimpleAdapter本身是不支持网络图片的, 假设在Map.put(a,b)中 b为一个Bitmap,程序不会报红色字体,而是在控制台输出绿色的字体,例如以下 0 ...

  7. 1087. [SCOI2005]互不侵犯King【状压DP】

    Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上 左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行, ...

  8. 【洛谷】【动态规划+单调队列】P1725 琪露诺

    [题目描述:] 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河 ...

  9. php表单笔记

    PHP获取表单值: $_POST    //获取POST提交 $_GET      //  获取GET提交 <!DOCTYPE html> <html> <head> ...

  10. 集合之Stack

    在Java中Stack类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的.每一个栈都包含一个栈顶,每次出栈是将栈顶的数据取出,如下: Stack通过 ...