今天在理解struts的表单验证的时候~~~~需要查看DynaValidatorForm的源文件~~但是myeclipse没有加入jad直接查看class文件~~google了~~整出来了~~心情不错~~~发在这里~~方便下次安装~~~~
具体操作步骤:
下载反编译工具jad
下载地址:http://www.kpdus.com/jad.html#download,根据相对操作界面的版本进行下载,因为我们的操作界面是window所以下载:jad 1.5.8 for Window 9x/NT/2000即可。
将下载下来的jadnt158.zip解压缩,将jad.exe文件放入%JAVA_HOME%\bin文件目录下。
下载eclipse反编译插件jadclipse
下载地址:http://sourceforge.net/projects/jadclipse/,根据eclipse的版本进行下载,这里注意了,不是MyEclipse的版本,我们用的MyEclipse5.1是自动装载eclipse,而它的版本可以在help中查看,在这里它的版本为eclipse3.2所以我们就要下载jadclipse3.2
因为是jadclipse3.2的版本,所以可直接将net.sf.jadclipse_3.2.4.jar复制到%eclipse_home%\plugins下,而这里我们的目录为C:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\eclipse\plugins下
重启eclipse
配制jadclipse
Window/Preferences/java/jadClipse中的Path to decomiler设置为jad.exe的决对路径,刚才我们给它放到了我们jdk的bin中,为C:\j2sdk1.4.2\bin\jad.exe。Directory for temporary files设置为存放临时文件的决对路径这里我把它设置到桌面上了C:\Documents and Settings\LuckyStar\桌面\.net.sf.jadclipse
General/Editors/File Associations中把*.class的Associated Editors设置为JadClipse Class File Viewer为默认。如果没有jadclipse则说明net.sf.jadclipse_3.2.4.ja没有复制到正确的位置
可以试一下双击class文件,看能否反编译成java代码了
注:
jad是命令行式的反编译程序,将class文件反编译java操作的工具,在命令行中执行操作,如下说明几个简单的反编译操作:
将当前文件夹下的abc.class文件反编译成abc.jad文件
D:\jad>jad abc.class
将当前文件夹下的abc.class文件反编译成abc.java文件
D:\jad>jad -sjava abc.class
可以单独使用。Jadclipse是eclipse中的一个插件,是用于在eclipse中双击*.class文件时直接查它的*.java代码,不可以单独使用。
如果出现下面的错误~~请再点击菜单栏上的JADCLIPSE~~
分析:
/*jadclipse*/
/*
DECOMPILATION REPORT
Decompiled from: E:\suntest\jspbook\WEB-INF\classes\com\guestbook//MD5.class
Total time: 15 ms
Jad reported messages/errors:
Exit status: 0
Caught exceptions:
java.io.IOException: CreateProcess: jad -p -t4 -lradix10 -radix10 MD5.class error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at net.sf.jadclipse.JadDecompiler.decompile(JadDecompiler.java:160)
at net.sf.jadclipse.JadclipseSourceMapper.findSource(JadclipseSourceMapper.java:158)
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:335)
at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:628)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.WorkbenchPage.activatePart(WorkbenchPage.java:617)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3487)
at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:610)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2832)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:318)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:160)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:207)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(OpenAndExpand.java:50)
at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:221)
at org.eclipse.ui.internal.navigator.CommonNavigatorManager$3.open(CommonNavigatorManager.java:184)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewer.java:372)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
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:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
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:193)
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:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
*/
分享到:
相关推荐
在MyEclipse中直接查看.class文件是开发过程中的一项实用技能,尤其当源代码不可用时。这个过程涉及到安装和配置反编译工具以及相应的插件。以下是对如何在MyEclipse中实现这一功能的详细说明: 首先,需要下载两个...
本文将详细介绍如何在MyEclipse中集成JAD,以便方便地查看`.class`文件。 首先,你需要下载JAD工具。在这个案例中,我们有一个名为`jad.exe`的文件,这就是JAD的可执行文件。确保将这个文件放在一个易于访问的位置...
在IT行业中,开发人员经常需要...总之,通过在MyEclipse中集成JAD 1.58,开发者可以方便地查看和理解二进制Java类文件,提高开发效率和问题排查能力。确保正确配置和使用反编译工具,是每个Java开发者必备的技能之一。
通过上述步骤,我们不仅能够成功地在MyEclipse或Eclipse中安装并配置Jadclipse插件,还能够方便地查看和分析`.class`文件内容。这对于理解Java程序运行时的行为非常有帮助。此外,还可以根据个人需求进一步定制...
在`MyEclipse`中整合`JAD`,可以方便地在IDE内部查看`.jar`源码,提高开发效率。 要将`JAD`集成到`MyEclipse`,首先你需要下载`jad.exe`文件,这个文件已经在提供的压缩包中。将`jad.exe`放在一个容易访问的位置,...
在这个场景下,我们讨论的是如何在MyEclipse中查看和分析.class文件,主要涉及的工具是net.sf.jadclipse_3.3.0以及jad。 jad是Java反编译器的一种,它可以将Java字节码转换回源代码形式,使得开发者能够阅读和理解...
在MyEclipse中集成jad插件,可以方便地在IDE内部进行反编译操作,提高开发效率。 接着,我们来看如何在MyEclipse10.0上安装jad插件。首先,你需要确保你的MyEclipse已经更新到最新版本,以确保兼容性。然后,下载...
本文将详细探讨如何在MyEclipse环境中解决这种问题,主要关注如何使用反编译插件来查看`.class`文件的源码。 首先,`.class`文件是Java程序编译后的结果,它包含了机器可执行的字节码,但通常不包含人类可读的源...
查看java的class文件,在网络上搜索了一下资料,这样就很方便的去查看别人的代码 在myeclipse中查看class文件,就像查看普通的java源文件一样,通过以下步骤可以做到: 安装设置步骤:1. 下载jadnt158.zip 。 2. ...
本文将详细介绍如何在MyEclipse6.5中直接打开并理解`.class`文件,以及涉及的反编译技术。 首先,`.class`文件是Java编译器将源代码编译后的结果,它包含了执行Java程序所需的字节码。在没有源代码的情况下,我们...
eclipse(myeclipse)的jad.exe反编译插件,安装该插件后可以直接双击jar包中的class文件,自动打开反编译好的源代码查看,非常方便试用于大量分析jar中的class文件和关联的jar文件
通过以上步骤,你就成功地在MyEclipse10中安装了JAD反编译插件,可以方便地查看和分析已编译的Java类。这个插件对于调试、学习开源项目或维护旧代码库非常有用,尤其是在没有源代码的情况下。同时,了解反编译原理和...
然后在MyEclipse中打开.class文件,插件会自动调用Jad来生成源代码视图。这在调试第三方库或分析已编译代码时特别有用,尤其是当源代码不可用时。 总的来说,"myeclipse反编辑jad.exe,net.sf.jadclipse_3.3.0" 涉及...
在MyEclipse中集成JAD,可以方便地进行代码分析和调试。 安装JAD的过程分为以下几步: 1. **获取JAD反编译工具**:在描述中提到,你已经提供了myeclipse安装jad反编译工具的资源,这通常是一个包含JAD插件的.zip或...
总结一下,通过在MyEclipse8.x中安装JAD,我们可以快速查看和理解`.class`文件的源代码,这对于学习、调试或者分析第三方库非常有帮助。正确配置JAD的步骤包括下载、解压、配置JAD路径、添加到MyEclipse的JRE设置...
通过以上步骤,你就可以在MyEclipse中方便地使用JAD进行反编译工作了。这种集成方式不仅简化了开发流程,还提高了代码理解和调试的效率。不过,需要注意的是,反编译他人的代码可能存在版权问题,务必在合法范围内...
在MyEclipse集成开发环境中安装JAD插件,可以方便地在IDE内进行反编译操作,提高开发效率。本篇将详细介绍如何在MyEclipse 9.0版本上安装JAD插件。 首先,我们需要了解JAD插件的基本信息。JAD是由JADSoft开发的一款...
作用:能够快速的在开发当中查看.class源码 简介: jadclipse 反编译插件 http://sourceforge.net/projects/jadclipse/ jad.exe 反编译程序 http://varaneckas.com/jad/ 安装: 1 安装插件:将 ...
"myeclipse反编译class文件插件" 提供了一个方便的解决方案,允许用户在MyEclipse集成开发环境中直接对.class文件进行反编译,从而查看其源代码。 MyEclipse是基于Eclipse的一款强大Java开发工具,它扩展了Eclipse...
通过安装这个插件,开发者可以在Eclipse或MyEclipse中右键点击任何.class文件,选择“Decompile”选项,即可快速查看对应的源代码。这样极大地提高了开发者的效率,尤其是在处理第三方库或处理异常时。 标签...