持之以恒

记录本
posts - 4, comments - 32, trackbacks - 0, articles - 74
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
想直接在myeclipse中查看class文件,就像查看普通的java源文件一样,通过以下步骤可以做到:
安装设置步骤:
1. 从http://www.kpdus.com/jad.html 下载jadnt158.zip 。


2. 从http://jadclipse.sourceforge.net/ 下载net.sf.jadclipse_3.3.jar(对应eclipse3.3)


3. 将jadnt158.zip 解压,拷贝jad.exe 到%JAVA_HOME%\bin\ 目录下。


4. 安装插件net.sf.jadclipse_3.3.jar (将此文件拷到eclipse 的plugins目录(%eclipse_home%\plugins)下,例如C:\MyEclipse Enterprise Workbench 6.5GA\eclipse\plugins下)。


5. 设定路径:进入Window -> Preferences -> Java -> JadClipse,Path to decomiler设置为jad.exe的绝对路径,例如C:\j2sdk1.4.2\bin\jad.exe,Directory for temporary files设置为存放临时文件的决对路径这里我把它设置为C:\Documents and Settins\桌面\.net.sf.jadclipse 。

6. 在Eclipse 的Windows—> Perferences—>General->Editors->File Associations 中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。如果没有*.class,则点击“add"增加,如果没有jadclipse Class File Viewer,可以点击“Add-Internal Editors”,查找是否有jadclipse,若还是没有,则说明net.sf.jadclipse没有复制到正确的位置.

安装设置完毕,可以双击class文件,测试一下,正确的情况是:反编译成功,可以显示class文件(无需增加src源文件)为普通的java源代码样式,另外,在Myeclipse菜单栏上多出了一个JadClipse菜单.

现在可以通过myeclipse直接查看class文件,阅读代码效率高了许多~~~~~~


安装时应注意:
jadclipse的版本一定要和eclipse的版本一致!
比如,我用的Myeclipse版本为6.5,其包含的eclipse版本为3.3,
一开始我使用的是net.sf.jadclipse_3.2.4.jar,都不能正确浏览无源码的*.jar文件,后来我重新下载了net.sf.jadclipse_3.3.0.jar,才可以正确浏览!!!

总共需要下载两个文件:
1. 反编译工具jad
2. eclipse的插件JadClipse

jad是命令行式的反编译程序,将class文件反编译java操作的工具,如下说明几个简单的反编译操作:
将当前文件夹下的abc.class文件反编译成abc.jad文件
D:\jad>jad abc.class

将当前文件夹下的abc.class文件反编译成abc.java文件
D:\jad>jad -sjava abc.class
jad可以单独使用。

Jadclipse是eclipse中的一个插件,是用于在eclipse中双击*.class文件时直接查它的*.java代码,相当于一个查看器,但不可以单独使用。


可能出现的问题:

当我我们按F3 或者 双击打开 *.class 文件时, 出现 “Unmatched braces in the pattern” 这个错

这个错误是语言包的问题。

解决方法:

出现 Unmatched braces in the pattern 异常, 由错误报告出现问题的
org.eclipse.jdt.internal.core.util.Messages 类, disassembler_opentypedeclaration 字段,
对应于语言包插件 plugins 目录下的 org.eclipse.jdt.core.nl1_3.1.1.jar 包,
该包 org\eclipse\jdt\internal\core\util 目录下的 messages_zh.properties 文件,
有段代码为 disassembler_opentypedeclaration=\ \u201C{\u201D,
有的可能为 disassembler_opentypedeclaration=\ “{”,
同目录下的其它语言文件这段代码为 disassembler_opentypedeclaration=\ '{',
这可能是 Eclipse 在语言转换时产生的错误. 修改代码 \u201C{\u201D (或“{”) 为 '{'.
解压 org.eclipse.jdt.core.nl1_3.1.1.jar, 修改 messages_zh.properties 文件,
再压缩成 .zip 文件, 改扩展名为 .jar (或 jar 命令打包), 在Eclipse 关闭时替换原来的 jar 包 即可.


小白

评论

# re: 在MyEclipse中直接查看class文件(在没有源码的情况下) [未登录]  回复  更多评论   

2013-04-23 16:48 by carl
好文,解决我的问题了!
非常感谢!!!

只有注册用户登录后才能发表评论。


网站导航: