1.下载反编译工具jad(下面提供下载)

将下载下来的jadstar158.zip解压缩,将jad.exe文件放入jdk安装目录下

如:C:\Program Files\Java\jdk1.6.0_20\bin

2.下载eclipse反编译插件net.sf.jadclipse_3.3.0.jar(下面提供下载)

3.将net.sf.jadclipse_3.3.0.jar 放入MyEclipse安装目录下,

如 :安装目录\Genuitec\dropins下 没有dropins,新建之,然后在dropins中新建features文件夹和plugins文件夹,将net.sf.jadclipse_3.3.0.jar拷贝到plugins中,然后新建java工程,运行以下代码(替换其中最后的代码,你电脑反编译插件所在的实际位置):

  1. import java.io.File;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * MyEclipse10.0 插件配置代码生成器
  6. *
  7. *
  8. */
  9. public class CreatePluginsConfig
  10. {
  11. public CreatePluginsConfig()
  12. {
  13. }
  14. public void print(String path)
  15. {
  16. List<String> list = getFileList(path);
  17. if (list == null)
  18. {
  19. return;
  20. }
  21. int length = list.size();
  22. for (int i = 0; i < length; i++)
  23. {
  24. String result = "";
  25. String thePath = getFormatPath(getString(list.get(i)));
  26. File file = new File(thePath);
  27. if (file.isDirectory())
  28. {
  29. String fileName = file.getName();
  30. if (fileName.indexOf("_") < 0)
  31. {
  32. print(thePath);
  33. continue;
  34. }
  35. String[] filenames = fileName.split("_");
  36. String filename1 = filenames[0];
  37. String filename2 = filenames[1];
  38. result = filename1 + "," + filename2 + ",file:/" + path + "\\"
  39. + fileName + "\\,4,false";
  40. System.out.println(result);
  41. } else if (file.isFile())
  42. {
  43. String fileName = file.getName();
  44. if (fileName.indexOf("_") < 0)
  45. {
  46. continue;
  47. }
  48. int last = fileName.lastIndexOf("_");// 最后一个下划线的位置
  49. String filename1 = fileName.substring(0, last);
  50. String filename2 = fileName.substring(last + 1, fileName
  51. .length() - 4);
  52. result = filename1 + "," + filename2 + ",file:/" + path + "\\"
  53. + fileName + ",4,false";
  54. System.out.println(result);
  55. }
  56. }
  57. }
  58. public List<String> getFileList(String path)
  59. {
  60. path = getFormatPath(path);
  61. path = path + "/";
  62. File filePath = new File(path);
  63. if (!filePath.isDirectory())
  64. {
  65. return null;
  66. }
  67. String[] filelist = filePath.list();
  68. List<String> filelistFilter = new ArrayList<String>();
  69. for (int i = 0; i < filelist.length; i++)
  70. {
  71. String tempfilename = getFormatPath(path + filelist[i]);
  72. filelistFilter.add(tempfilename);
  73. }
  74. return filelistFilter;
  75. }
  76. public String getString(Object object)
  77. {
  78. if (object == null)
  79. {
  80. return "";
  81. }
  82. return String.valueOf(object);
  83. }
  84. public String getFormatPath(String path)
  85. {
  86. path = path.replaceAll("\\\\", "/");
  87. path = path.replaceAll("//", "/");
  88. return path;
  89. }
  90. public static void main(String[] args)
  91. {
  92. /*替换成你的插件的安装目录*/
  93. String plugin = "D:\\MyEclipse 10\\MyEclipse 10\\dropins\\plugins";
  94. new CreatePluginsConfig().print(plugin);
  95. }
  96. }

4.重启MyEclipse,配置 jadclipse

在Eclipse 的Windows—> Perferences—>General->Editors->File Associations 中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。如果没有*.class,则点击“add"增加一个。

安装设置完毕,可以双击class文件。

资源下载地址:jadstar158.zip (233 KB)

net.sf.jadclipse_3.3.0.jar (44 KB)

如果遇到如下错误,解决方式:

eclipse中添加jad插件

1. 下载jad: http://www.softpedia.com/progDownload/JAD-Download-85911.html

下载后, 将解压后的jad.exe放到某个目录下, 如: D:java/jad.exe(后面会用到这个路径)

2. 下载jadClipse插件: http://sourceforge.net/projects/jadclipse/files/

将解压后的jar文件放到Eclipse的plugins子目录下

3. 重启eclipse

4. 配置JadClipse:

打开Windows ->Preferences -> Java -> JadClipse选项, 在path to decomplier: 文本框中写入D:\java\jad.exe(先前下载jad.exe的路径)

然后,点击确定, 重启eclipse即可完成jad插件的添加

另外, 出现如下问题, 多半是JadClipse没有配置好, 按上述步骤配置即可解决问题.

/*jadclipse*/

/*
 DECOMPILATION REPORT

Decompiled from: D:\workspace\MyEclipse 8.5\BeanUtilsTest\lib\commons-beanutils-1.8.3.jar
 Total time: 3 ms
 Jad reported messages/errors:
 Exit status: 0
 Caught exceptions:
java.io.IOException: Cannot run program "D:\java" (in directory "C:\Users\administrator\.net.sf.jadclipse\1372683520891"): CreateProcess error=5, ¾ܾø·Ã
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
 at java.lang.Runtime.exe*(Runtime.java:593)
 at net.sf.jadclipse.JadDecompiler.decompile(JadDecompiler.java:160)
 at net.sf.jadclipse.JadDecompiler.decompileFromArchive(JadDecompiler.java:217)
 at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:150)
 at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:83)
 at net.sf.jadclipse.JadclipseClassFileEditor.doOpenBuffer(JadclipseClassFileEditor.java:87)
 at net.sf.jadclipse.JadclipseClassFileEditor.doSetInput(JadclipseClassFileEditor.java:45)
 at net.sf.jadclipse.JadclipseActionBarContributor.setActiveEditor(JadclipseActionBarContributor.java:87)
 at org.eclipse.ui.internal.EditorActionBars.partChanged(EditorActionBars.java:342)
 at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:632)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.runtime.Platform.run(Platform.java:888)
 at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:621)
 at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3527)
 at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:614)
 at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2869)
 at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
 at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
 at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
 at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
 at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
 at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:374)
 at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:178)
 at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)
 at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)
 at org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlink.open(JavaElementHyperlink.java:74)
 at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseUp(HyperlinkManager.java:406)
 at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:207)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
 at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
 at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
 at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.io.IOException: CreateProcess error=5, ¾ܾø·Ã
 at java.lang.ProcessImpl.create(Native Method)
 at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
 at java.lang.ProcessImpl.start(ProcessImpl.java:30)
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
 ... 54 more

*/

MyEclipse10.0安装jad反编译插件的更多相关文章

  1. myeclipse安装jad反编译插件

    有时候想深入底层看jar包封装的源代码,但是打不开.这就需要配置反编译插件: 1:准备原材料 jad.exe + net.sf.jadclipse_3.3.0.jar 下载目录: jad.exe : ...

  2. myeclipse2014安装jad反编译插件

    myeclipse上默认不能查看class文件,需要查看的话安装反编译插件 安装步骤: 准备图中框里的两个文件 1. [net.sf.jadclipse_3.3.0.jar]文件拷贝到如下路径([D: ...

  3. Eclipse安装jad反编译插件(在线安装)

    Help→Eclipse Marketplace→Find→jad 然后等安装完成重启eclipse即可

  4. myeclipse和eclipse安装Java反编译插件

    为myeclipse和eclipse安装Java反编译插件    插件所需包 1.解压jad1.5.8g.zip.将jad.exe放到jre的bin目录下,下载地址: http://ishare.ia ...

  5. Eclipse如何安装JD-Eclipse反编译插件

    一.Eclipse在线安装JD-Eclipse反编译插件 1.在eclipse的help—>Install New Software...中添加新软件开发,添加它的源: name:jd-ecli ...

  6. Eclipse安装JD-Eclipse反编译插件成功看源码

    Eclipse安装JD-Eclipse反编译插件 转载 2017年12月24日 15:19:27   http://heavengate.blog.163.com/blog/static/202381 ...

  7. eclipse在线安装jd反编译插件

    eclipse在线安装jd反编译插件地址 http://jd.benow.ca/jd-eclipse/update

  8. Eclipse 4.2 安装Java反编译插件

    在eclipse下安装反编译插件可以直接查看 .class 文件对应的java源码. 反编译插件有 jdeclipse 和 jadeclipse. (1) jdeclipse http://www.d ...

  9. Eclipse下配置tomcat且使用eclipse开启debug模式,集成JAD反编译插件

    Eclipse运行Tomcat的2种方式 eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法 Eclipse 中Tomcat 启动 与直接启动Tomca ...

随机推荐

  1. IOS公司开发者账号申请详细教程--1 备用

    谈到苹果开发者账号,我们需要区分一下个人账号.公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. ...

  2. javascript第二遍基础学习笔记(二)

    一.操作符 1.一元操作符: 自加自减(分前置和后置2种):++.-- 区别:前置的先自加或自减,后进行计算:而后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别): ; i++; / ...

  3. c/c++多级指针

    c/c++多级指针 如图: # include <stdio.h> int main(void) { ; int * p = &i; //p只能存放int类型变量的地址 int * ...

  4. [Leetcode] Validate BST

    给一个Binary Tree,检查是不是Binary Search Tree. 即是否满足对每个节点,左子树的中的所有节点的值 < 当前节点的值 < 右子树所有节点的值. Solution ...

  5. Android 拖动条(SeekBar)实例 附完整demo项目代码

    1.拖动条的事件 实现SeekBar.OnSeekBarChangeListener接口.需要监听三个事件:数值改变(onProgressChanged)开始拖动(onStartTrackingTou ...

  6. CKFinder 2.4 ASP.NET 破解

    网上的破解教程对于2.4版本来说已经过时了. 以下是CKFinder 2.4 ASP.NET的亲测可用破解方法,经测试,只需修改两处代码. 打开ckfinder.js, 步骤1. 搜索替换如下代码: ...

  7. System.Windows.Forms中的Message Structure

    结构用途说明Implements a Windows message. Properties 1.public IntPtr HWnd { get; set; } Gets or sets the w ...

  8. linux字符图形界面

    /etc/inittab 1)  字符界面标识: id:3:initdefault: 2)  图形界面标识: id:5:initdefault:   [root@ora9i ~]# vi /etc/i ...

  9. hadoop2.2编程:hadoop性能测试

    <hadoop the definitive way>(third version)中的Benchmarking a Hadoop Cluster Test Cases 的class在新的 ...

  10. POJ_3181_Dollar_Dayz_(动态规划,完全部分和,完全背包)

    描述   http://poj.org/problem?id=3181 FJ有n元钱,有k种商品,各为1,2,...,k-1,k元,问有多少种花掉这n元钱的方法. Dollar Dayz Time L ...