java-decompiler / jd-eclipse Goto Github PK
View Code? Open in Web Editor NEWA Java Decompiler Eclipse plugin
License: GNU General Public License v3.0
A Java Decompiler Eclipse plugin
License: GNU General Public License v3.0
I'm trying to decompile apple.applescript.AppleScriptEngine
. A method can't be decompiled.
/* Error */
public Object eval(Reader paramReader, ScriptContext paramScriptContext)
throws ScriptException
{
// Byte code:
// 0: invokestatic 57 apple/applescript/AppleScriptEngine:checkSecurity ()V
// 3: ldc 58
// 5: ldc 59
// 7: iconst_0
// 8: anewarray 60 java/nio/file/attribute/FileAttribute
// 11: invokestatic 61 java/nio/file/Files:createTempFile (Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
// 14: invokeinterface 62 1 0
// 19: astore_3
// 20: new 63 java/io/FileWriter
// 23: dup
// 24: aload_3
// 25: invokespecial 64 java/io/FileWriter:<init> (Ljava/io/File;)V
// 28: astore 4
// 30: aload_1
// 31: invokevirtual 65 java/io/Reader:read ()I
// 34: dup
// 35: istore 5
// 37: iconst_m1
// 38: if_icmpeq +13 -> 51
// 41: aload 4
// 43: iload 5
// 45: invokevirtual 66 java/io/FileWriter:write (I)V
// 48: goto -18 -> 30
// 51: aload 4
// 53: invokevirtual 67 java/io/FileWriter:close ()V
// 56: aload_0
// 57: aload_2
// 58: invokespecial 68 apple/applescript/AppleScriptEngine:scriptContextToNSDictionary (Ljavax/script/ScriptContext;)J
// 61: lstore 6
// 63: new 69 java/lang/StringBuilder
// 66: dup
// 67: invokespecial 70 java/lang/StringBuilder:<init> ()V
// 70: ldc 71
// 72: invokevirtual 72 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 75: aload_3
// 76: invokevirtual 73 java/io/File:getCanonicalPath ()Ljava/lang/String;
// 79: invokevirtual 72 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
// 82: invokevirtual 74 java/lang/StringBuilder:toString ()Ljava/lang/String;
// 85: lload 6
// 87: invokestatic 75 apple/applescript/AppleScriptEngine:evalScriptFromURL (Ljava/lang/String;J)J
// 90: lstore 8
// 92: lload 8
// 94: lconst_0
// 95: lcmp
// 96: ifne +7 -> 103
// 99: aconst_null
// 100: goto +8 -> 108
// 103: lload 8
// 105: invokestatic 76 apple/applescript/AppleScriptEngine:createObjectFrom (J)Ljava/lang/Object;
// 108: astore 10
// 110: lload 8
// 112: invokestatic 77 apple/applescript/AppleScriptEngine:disposeContext (J)V
// 115: aload 10
// 117: astore 11
// 119: lload 6
// 121: invokestatic 77 apple/applescript/AppleScriptEngine:disposeContext (J)V
// 124: aload_3
// 125: invokevirtual 78 java/io/File:delete ()Z
// 128: pop
// 129: aload 11
// 131: areturn
// 132: astore 12
// 134: lload 6
// 136: invokestatic 77 apple/applescript/AppleScriptEngine:disposeContext (J)V
// 139: aload_3
// 140: invokevirtual 78 java/io/File:delete ()Z
// 143: pop
// 144: aload 12
// 146: athrow
// 147: astore 5
// 149: new 42 javax/script/ScriptException
// 152: dup
// 153: aload 5
// 155: invokespecial 80 javax/script/ScriptException:<init> (Ljava/lang/Exception;)V
// 158: athrow
// Line number table:
// Java source line #295 -> byte code offset #0
// Java source line #301 -> byte code offset #3
// Java source line #302 -> byte code offset #20
// Java source line #310 -> byte code offset #30
// Java source line #311 -> byte code offset #41
// Java source line #313 -> byte code offset #51
// Java source line #316 -> byte code offset #56
// Java source line #318 -> byte code offset #63
// Java source line #319 -> byte code offset #92
// Java source line #320 -> byte code offset #110
// Java source line #321 -> byte code offset #115
// Java source line #323 -> byte code offset #119
// Java source line #324 -> byte code offset #124
// Java source line #323 -> byte code offset #132
// Java source line #324 -> byte code offset #139
// Java source line #326 -> byte code offset #147
// Java source line #327 -> byte code offset #149
// Local variable table:
// start length slot name signature
// 0 159 0 this AppleScriptEngine
// 0 159 1 paramReader Reader
// 0 159 2 paramScriptContext ScriptContext
// 19 121 3 localFile java.io.File
// 28 24 4 localFileWriter java.io.FileWriter
// 35 9 5 i int
// 147 7 5 localIOException java.io.IOException
// 61 74 6 l1 long
// 90 21 8 l2 long
// 108 8 10 localObject1 Object
// 132 13 12 localObject3 Object
// Exception table:
// from to target type
// 63 119 132 finally
// 132 134 132 finally
// 3 129 147 java/io/IOException
// 132 147 147 java/io/IOException
}
I decomplie the FileCleaningTracker.class in Eclipse. It is wrong at 257th lines. (the class file is from apache commons-io-2.2)
jd-eclipse :
/* / Tracker(String path, FileDeleteStrategy deleteStrategy, Object marker, ReferenceQueue<? super Object> queue)
/ / {
/ 257 / super(queue);
/ 258 / this.path = path;
/ 259 / this.deleteStrategy = (deleteStrategy == null ? FileDeleteStrategy.NORMAL : deleteStrategy);
/ */ }
source code :
Tracker(String path, FileDeleteStrategy deleteStrategy, Object marker, ReferenceQueue<? super Object> queue) {
super(marker, queue);
this.path = path;
this.deleteStrategy = deleteStrategy == null ? FileDeleteStrategy.NORMAL : deleteStrategy;
}
I'm using http://jd.benow.ca/jd-eclipse/update/ as update site.
Seems to me update site latest release is 0.1.5 and not 1.0.0.
I found this update site URL inside site.xml... there's no update site URL in README or landing page and because of this I can't even be sure if it is the best URL to use.
Would be great to have this useful information.
Best regards.
OS: Windows
Tested versions: 1.4.3, 1.5.0
If jar file has it's extension in uppercase (like: joo.JAR or FOO.JAR) file can not be opened.
Downloaded latest version from Website, also tried from Homebrew. I click on the JD GUI Icon, it bounces and then crashes. I can't even get to see the app window.
Hi,
I used jd-eclipse for years in all versions from 4.2 to 4.9, but when I installed it into the 4.10 I cannot see Preverence -> Java -> Decompiler, and it doesn't decompile .class files. If I try to reinstall, eclipse says that it is already installed. There are some incompatibility?
Thankyou
Lucio
Cannot complete the install because one or more required items could not be found.
Software currently installed: JD-Eclipse Plug-in 1.0.0 (jd.ide.eclipse.feature.feature.group 1.0.0)
Missing requirement: JD-Eclipse Plug-in 1.0.0 (jd.ide.eclipse.plugin 1.0.0) requires 'bundle org.eclipse.jdt.ui 0.0.0' but it could not be found
Cannot satisfy dependency:
From: JD-Eclipse Plug-in 1.0.0 (jd.ide.eclipse.feature.feature.group 1.0.0)
To: jd.ide.eclipse.plugin [1.0.0]
Github flavor of markdown needs a space between the #
and the title. Examples:
### This works
`
###This doesn't
###This doesn't
I'm one of the two new maintainers of the Enhanced Class Decompiler plugin for Eclipse. I'd like (or better, have) to discuss a matter with you regarding our plugins. Could you please contact me under the email address provided in my profile. Thank you.
I'd like very much to use the JD-eclipse plugin for Eclipse on my 1TB portable drive (using Eclipse OXYGEN 4.7.3 Platform Runtime Binary [Portable].paf.exe), but install attempts so far have failed. I used the same zip file as I used for the Windows Eclipse (Oxygen) install (jd-eclipse-site-1.0.0-RC2.zip), and the install to the portable drive failed. Attached is a file with the output describing the issue. I hope this is not a bone-head lapse on my part.
Thanks very much,
CJS
JD-Eclipse Decompiler (portable) dependency details.txt
Eclipse Java EE IDE for Web Developers.
Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
Java 1.8 64bit
After jd-eclipse installed, Eclipse hang on when open
I have just installed it on eclipse, but I dont know how to use it. I am new so I am not very experienced with the eclipse interface
is ther like a button to press to add a jar in
Followed through the installation instructions, no where to drop the downloaded zip file in the Install new software window. Has the installation changed for the Eclipse 4.13 release?
i use homebrew by brew install jd-gui
to install the jd-gui, then i can not open the app. No error message!
os info:
jdk:
java version "17.0.8" 2023-07-18 LTS
Trying to install it in STS, details :
details error after trying to install jd eclipse :
Cannot complete the install because one or more required items could not be found.
Software currently installed: Spring Tool Suite 3.6.3.201411281415-RELEASE-e44 (org.springsource.sts.ide 3.6.3.201411281415-RELEASE-e44)
Missing requirement: E4 RCP Patch (bugzillas 445122) 1.0.0 (org.eclipse.e4.rcp.R441patch.feature.group 1.0.0) requires 'org.eclipse.e4.rcp.feature.group [1.3.100.v20140909-1633]' but it could not be found
Cannot satisfy dependency:
From: Spring Tool Suite 3.6.3.201411281415-RELEASE-e44 (org.springsource.sts.ide 3.6.3.201411281415-RELEASE-e44)
To: org.springsource.sts.package.feature.group [3.6.3.201411281415-RELEASE-e44]
Cannot satisfy dependency:
From: Spring Tool Suite Package 3.6.3.201411281415-RELEASE-e44 (org.springsource.sts.package.feature.group 3.6.3.201411281415-RELEASE-e44)
To: org.eclipse.e4.rcp.R441patch.feature.group 0.0.0
OK
What is means Eclipse?
I tried the recent decompiler with Eclipse Mars. It worked fine, but unfortunately when a source was available and attached to a JAR, it still displayed the decompiled version instead of the original source. This happened for instance with Java runtime libraries (where the source is supplied with JDK).
All the problems were gone when I uninstalled the decompiler.
Well, the source lookup should always win. However, if it is a problem, would it be at least possible to add some "Skip decompilation" button to the decompiler window that would let the default processing finish? Note that even when the result is the default bytecode window, the bytecode window shows a nice button for attaching the source, so it is possible to resolve the situation directly from there without going to the particular library's properties and setting it there.
Anyway, I love the decompiler, it is an excellent tool and I hope it is possible to fix this issue.
I followed the step but when I click on the Class file name which is from jar it did not work. It still shows me source not found.
An internal error occurred during: "Compute launch button tooltip". org.eclipse.jdt.internal.core.JarPackageFragmentRoot cannot be cast to org.eclipse.jdt.core.IPackageFragment
I'm struggling on how to deal with this problem where I can't set JD Class File Viewer as default on file assoc. .class file ext. after I restart Eclipse IDE. But, it can set on .class without source.
The Class File Viewer cannot handle the given input ('org.eclipse.ui.ide.FileStoreEditorInput').
I need help, i'm using Eclipse IDE Version: 2022-03 (4.23.0) and trying to use jd-eclipse-2.0.0 as a decompiler. If someone knows how to solve this problem or experienced the same issue as mine, please comment something here.
⇓ ⇓ ⇓ ⇓
First of all, appreciate your efforts in creating such an awesome tool.
Issue:
In Eclipse Indigo 3.7, while decompiling a certain .class file, the editor opened with error saying "Unable to create editor ID jd.ide.eclipse.editors.JDClassFileEditor: Editor could not be initialized.".
(Note: In Luna 4.4.1 Eclipse, the decompilation works fine).
Error log shows the following:
Unable to create editor ID jd.ide.eclipse.editors.JDClassFileEditor: Editor could not be initialized.
Exception Stack Trace:
java.lang.IllegalArgumentException
at org.eclipse.jdt.core.Signature.appendTypeArgumentSignatures(Signature.java:825)
at org.eclipse.jdt.core.Signature.appendClassTypeSignature(Signature.java:615)
at org.eclipse.jdt.core.Signature.appendTypeSignature(Signature.java:911)
at org.eclipse.jdt.core.Signature.appendTypeSignature(Signature.java:855)
at org.eclipse.jdt.core.Signature.toCharArray(Signature.java:2637)
at org.eclipse.jdt.core.Signature.getSignatureSimpleName(Signature.java:1870)
at org.eclipse.jdt.core.Signature.getSignatureSimpleName(Signature.java:1914)
at org.eclipse.jdt.internal.core.SourceMapper$LocalVariableElementKey.(SourceMapper.java:96)
at org.eclipse.jdt.internal.core.SourceMapper.enterAbstractMethod(SourceMapper.java:831)
at org.eclipse.jdt.internal.core.SourceMapper.enterMethod(SourceMapper.java:769)
at org.eclipse.jdt.internal.compiler.SourceElementNotifier.notifySourceElementRequestor(SourceElementNotifier.java:368)
at org.eclipse.jdt.internal.compiler.SourceElementNotifier.notifySourceElementRequestor(SourceElementNotifier.java:693)
at org.eclipse.jdt.internal.compiler.SourceElementNotifier.notifySourceElementRequestor(SourceElementNotifier.java:455)
at org.eclipse.jdt.internal.compiler.SourceElementParser.parseCompilationUnit(SourceElementParser.java:934)
at org.eclipse.jdt.internal.core.SourceMapper.mapSource(SourceMapper.java:1391)
at org.eclipse.jdt.internal.core.SourceMapper.mapSource(SourceMapper.java:1326)
at org.eclipse.jdt.internal.core.ClassFile.mapSource(ClassFile.java:659)
at org.eclipse.jdt.internal.core.ClassFile.openBuffer(ClassFile.java:635)
at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:288)
at org.eclipse.jdt.internal.core.ClassFile.getBuffer(ClassFile.java:359)
at org.eclipse.jdt.internal.core.ClassFile.getSourceRange(ClassFile.java:523)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.probeInputForSource(ClassFileEditor.java:759)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.doSetInput(ClassFileEditor.java:658)
at jd.ide.eclipse.editors.JDClassFileEditor.doSetInput(JDClassFileEditor.java:73)
at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3200)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2649)
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3218)
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3245)
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2945)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2764)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:368)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:174)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:249)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:344)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Session Data:
eclipse.buildId=M20120208-0800
java.version=1.7.0_55
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product -showlocation -Duser.name=Prabakaran SK
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -showlocation -Duser.name=Prabakaran SK -data C:\Dev\WS4CRSIndigoNew
Hi
Add artifacts.jar and content.jar to update site, please.
We use a Composite update site!
Thanks,
Chris
Hey,
I tried to install the eclipse plugin via the update site mentioned here http://jd.benow.ca/#jd-gui-download
Apparently, it is down.
An other opportunity would to upload the eclipse repository to github? :)
Best regards,
Kon
Can I extract class, enums, png, etc files using the decompiler or do I have to use winRAR or 7zip? Am using jd-gui-1.6.6
When I use it to open the class file, it has this error
Sorry ,my English is not good :<
Please solve this problem ,thank you
About Eclipse
Version: 2021-12 (4.22.0)
Build id: 20211202-1639
JDK
jdk1.8.0_202
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
at java.base/java.text.MessageFormat.applyPattern(MessageFormat.java:521)
at java.base/java.text.MessageFormat.(MessageFormat.java:371)
at java.base/java.text.MessageFormat.format(MessageFormat.java:860)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:476)
at org.eclipse.jdt.internal.core.util.Messages.bind(Messages.java:442)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:1142)
at org.eclipse.jdt.internal.core.util.Disassembler.disassemble(Disassembler.java:245)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.updateCodeView(ClassFileEditor.java:401)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor$SourceAttachmentForm.createControl(ClassFileEditor.java:201)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.verifyInput(ClassFileEditor.java:804)
at org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor.createPartControl(ClassFileEditor.java:752)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:158)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:96)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:365)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:995)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:960)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:140)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:403)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:330)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:994)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:658)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:762)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:727)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:711)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:105)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4779)
at org.eclipse.e4.ui.workbench.swt.DisplayUISynchronize.syncExec(DisplayUISynchronize.java:34)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:228)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:133)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:660)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:624)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:787)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1261)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3208)
at org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3112)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3110)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3080)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:324)
at org.eclipse.ui.actions.OpenWithMenu.lambda$0(OpenWithMenu.java:181)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4243)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4060)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3632)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
hey guys - wanted to check if jd-eclipse plugin will work with the java9 runtime? I tried it out with the beta release for Eclipse Oxygen, and wanted to know if it is supported to begin with.
Thanks for the awesome work!
The following exception occurs when switching perspectives and breadcrumbs are enabled in the editor.
org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:4282)
at org.eclipse.swt.SWT.error(SWT.java:4197)
org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:4282)
at org.eclipse.swt.SWT.error(SWT.java:4197)
at org.eclipse.swt.SWT.error(SWT.java:4168)
at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340)
at org.eclipse.swt.widgets.Composite.getChildren(Composite.java:450)
at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.showBreadcrumb(JavaEditor.java:1971)
at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.handlePreferenceStoreChanged(JavaEditor.java:2883)
at org.eclipse.ui.texteditor.AbstractTextEditor$PropertyChangeListener.propertyChange(AbstractTextEditor.java:710)
at org.eclipse.ui.texteditor.ChainedPreferenceStore.firePropertyChangeEvent(ChainedPreferenceStore.java:164)
at org.eclipse.ui.texteditor.ChainedPreferenceStore.handlePropertyChangeEvent(ChainedPreferenceStore.java:431)
at org.eclipse.ui.texteditor.ChainedPreferenceStore.access$0(ChainedPreferenceStore.java:408)
at org.eclipse.ui.texteditor.ChainedPreferenceStore$PropertyChangeListener.propertyChange(ChainedPreferenceStore.java:69)
at org.eclipse.ui.preferences.ScopedPreferenceStore$3.run(ScopedPreferenceStore.java:375)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.preferences.ScopedPreferenceStore.firePropertyChangeEvent(ScopedPreferenceStore.java:372)
at org.eclipse.jdt.internal.ui.javaeditor.ToggleBreadcrumbAction.perspectiveActivated(ToggleBreadcrumbAction.java:135)
at org.eclipse.ui.internal.PerspectiveListenerList$1.run(PerspectiveListenerList.java:74)
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.PerspectiveListenerList.fireEvent(PerspectiveListenerList.java:58)
at org.eclipse.ui.internal.PerspectiveListenerList.firePerspectiveActivated(PerspectiveListenerList.java:72)
at org.eclipse.ui.internal.WorkbenchWindow.firePerspectiveActivated(WorkbenchWindow.java:1450)
at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3716)
at org.eclipse.ui.internal.WorkbenchPage.busySetPerspective(WorkbenchPage.java:1115)
at org.eclipse.ui.internal.WorkbenchPage.access$16(WorkbenchPage.java:1099)
at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:3814)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.setPerspective(WorkbenchPage.java:3812)
at org.eclipse.ui.internal.PerspectiveBarContributionItem.select(PerspectiveBarContributionItem.java:124)
at org.eclipse.ui.internal.PerspectiveBarContributionItem$1.widgetSelected(PerspectiveBarContributionItem.java:93)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:344)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
sometimes decompiler code always in one line ,it makes not comfortable to read code.
decompiler code like this:
/* 4576 */ private boolean isChangeTable() { return this.changeTable; }
the old version plugin can make this code in multi lines like this:
private boolean isChangeTable()
{
return this.changeTable;
}
Hi,
Hi have a class that is generated by this code:
public void connectTransientTableManagers(Object object) {
for(Enumeration compIter = componentRelations.elements(); compIter.hasMoreElements();) {
ComponentRelation cr = (ComponentRelation)compIter.nextElement();
Object to = cr.extractTransient(object);
if(to != null) {
TransientObject transientObj = (TransientObject)to;
transientObj.setAbstractTableManager(cr.transientTM);
if(cr.transientTM != null)
cr.transientTM.connectTransientTableManagers(to);
}
}
}
jd-eclipse shows that:
public void connectTransientTableManagers(Object object) {
Enumeration compIter = componentRelations.elements();
while (compIter.hasMoreElements()) {
ComponentRelation cr = (ComponentRelation)compIter.nextElement();
Object to = cr.extractTransient(object);
if (to != null) {
TransientObject transientObj = (TransientObject)to;
transientObj.setAbstractTableManager(transientTM); // <- a «cr.» is missing
if (transientTM != null) { // idem
transientTM.connectTransientTableManagers(to); // idem
}
}
}
}
To decompile a same class, jd-eclipse is wrong, but JD-GUI is correct.
The class is:
test.jar.zip
I have installed jd-eclipse as described in the installation instructions here on Github. I have verified that the file associations are set so that .class files are opened with the JD Class File Viewer. While the editor tab displays the fashionable coffee pot icon, the editor itself simply displays the Eclipse default class file viewer. No error in the error log. I've tried to add the class file to the build path - didn't change anything. Is there anything else I could try?
look at this pic: http://img02.taobaocdn.com/imgextra/i2/176977352/TB2UNtfcFXXXXXBXpXXXXXXXXXX_!!176977352.png
It is contains in a jar file, jd-gui can decompiler it, but jd-eclipse can not.
Mac version:10.13.3
jd version : The Lastest
When I download the Lastest version of jd And I open it.There is no response
jd-eclipse is never used during debugging. If you set a breakpoint in some decompiled code, Eclipse will stop there but will not show the decompiled source.
This issue was already reported in mchr3k/jdeclipse-realign#16.
Probably it can be fixed by implementing the extension point sourceLocators (http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_debug_core_sourceLocators.html).
An example can be found in https://github.com/eclipse/m2e-core/blob/master/org.eclipse.m2e.launching/plugin.xml#L200
Don't save all files when i click File->Save All Sources Ctrl + Alt + S. Selected directory, show the box Save all Sources but don't terminate. Show box Error without message and don't save files in explorer.
When a JAR has an associated JavaDoc, it's not shown in tooltips when jd-eclipse is the preferred file association for "class without source".
I presume it's because Eclipse favors the JavaDoc embedded in source code, and jd-eclipse makes it believe source code is available.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.