JadClipse for Eclipse 4.x

Add this URL to your Eclipse Installation to reach this Solution's Update Site.

Mars (4.5)
Luna (4.4)
Kepler (4.3)
Juno (4.2, 3.8)
Previous to Juno (<=4.1)

Learn more...

Details Group Tabs

Erhun Baycelik's picture

Because of my security concerns i prefer to install jd.benow.ca

Erhun Baycelik's picture

It is working fine with Version: Mars Release (4.5.0) Build id: 20150621-1200 and Windws 7. But i have same concerns @pre mt mentioned. What about security of this implementation?

Gregory Lebec's picture

Hello, the tool says me that the plugin is not compatible with Mars version of Eclipse when I drag and drop it.
And it's not available in the market place directly accessible via eclipse (I only can see it on Market place via web browser)...

Manuel Steurer's picture

It does work if you right click on the class file in the package explorer and then say "Open Class With", either JD-Core or Jad is fine then. So it seems there only is an error with linking class files to the decompile-editor, which still obstructs the workflow.

Manuel Steurer's picture

Really good until Mars, but now it doesn't work anymore. Looks like it depends on internal code that has changed, I get this stacktrace on Mars.1:
Caused by: java.lang.NoSuchMethodError: org.eclipse.ui.internal.registry.FileEditorMapping.setDefaultEditor(Lorg/eclipse/ui/internal/registry/EditorDescriptor;)V
at org.sf.feeling.decompiler.Startup$SetupClassFileAssociationRunnable.run(Startup.java:81)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
... 23 more

Alessandro Antonini's picture

It doesn't seem to be compatibile with mars + osx yosemite, I have it perfectly working in luna + osx yosemite.

Pradeep Kumar's picture

Crashes when I hit F3 on any Java class
Mars Release (4.5.0)
Build id: 20150621-1200

Stack: [0x0000000000030000,0x0000000000130000], sp=0x00000000001290e0, free space=996k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [jd-eclipse.dll+0xae520]
C [jd-eclipse.dll+0xae7f5]
C [jd-eclipse.dll+0xaec7b]
C [jd-eclipse.dll+0xae890]
C [jd-eclipse.dll+0xae716]
C [jd-eclipse.dll+0xaec7b]
C [jd-eclipse.dll+0xae93f]
C [jd-eclipse.dll+0xb38e8]
C [jd-eclipse.dll+0xb3e29]
C [jd-eclipse.dll+0xb42d8]
C [jd-eclipse.dll+0xb42a6]
C [jd-eclipse.dll+0x1c35]
C [jd-eclipse.dll+0x5028]
C 0x0000000002ba5e34

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j jd.ide.eclipse.editors.JDSourceMapper.decompile(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+0
j org.sf.feeling.decompiler.jdcore.JDCoreSourceMapper.findSource(Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;)[C+70
j org.sf.feeling.decompiler.jdcore.JDCoreSourceMapper.findSource(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)[C+270
j org.sf.feeling.decompiler.editor.DecompilerSourceMapper.findSource(Lorg/eclipse/jdt/core/IType;)[C+72
j org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(Lorg/eclipse/ui/IEditorInput;Ljava/lang/String;ZZZ)Z+88
j org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(Lorg/eclipse/ui/IEditorInput;Ljava/lang/String;Z)Z+38
j org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doOpenBuffer(Lorg/eclipse/ui/IEditorInput;Z)Z+22
j org.sf.feeling.decompiler.editor.JavaDecompilerClassFileEditor.doSetInput(Lorg/eclipse/ui/IEditorInput;)V+3
j org.eclipse.ui.texteditor.AbstractTextEditor$19.run(Lorg/eclipse/core/runtime/IProgressMonitor;)V+39
j org.eclipse.jface.operation.ModalContext.runInCurrentThread(Lorg/eclipse/jface/operation/IRunnableWithProgress;Lorg/eclipse/core/runtime/IProgressMonitor;)V+6
j org.eclipse.jface.operation.ModalContext.run(Lorg/eclipse/jface/operation/IRunnableWithProgress;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/swt/widgets/Display;)V+48
j org.eclipse.ui.internal.WorkbenchWindow$14.run()V+25
j org.eclipse.swt.custom.BusyIndicator.showWhile(Lorg/eclipse/swt/widgets/Display;Ljava/lang/Runnable;)V+116
j org.eclipse.ui.internal.WorkbenchWindow.run(ZZLorg/eclipse/jface/operation/IRunnableWithProgress;)V+474

Farhad choupani's picture

I was getting, crash with message:
# Problematic frame:
# C [libjd-eclipse.so+0xf9798] wxStringData::Unlock()+0x0
# The crash happened outside the Java Virtual Machine in native code.

If you expand your jar file it should work. It is possible to have issue with larger jar files.

Daniel Jipa's picture

An error occurred while collecting items to be installed
session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Problems downloading artifact: org.eclipse.update.feature,org.sf.feeling.decompiler,
Downloaded stream not a valid archive. Check the server.

Philip Jagielski's picture

Thanks for your work. When I try to install by dragging the "Install" button to my Eclipse Luna instance I get a NullPointerException and it won't install.

Also, it would be easier to contribute if you move the code/hosting to github. Sourceforge is a dying platform (they are always down, inserting spyware in downloads, etc).

Gabriel Venegas's picture

Were you able to fix this? I am also getting the same exception when trying to install

Philip Jagielski's picture

I was never able to install it. I used Java Decompiler instead: jd.benow.ca/

pre mt's picture

Hi does this have malicious code ? Installation of this plugin asks to accept certificate ChenChao. Does accepting the certificate result in sending user info, usage stats to ChenChao.

Have anyone seen/reviewed the code is safe and does not have backdoors?

Philip Jagielski's picture

Accepting the certificate won't cause any network traffic, just let the install continue. The source code is on sourceforge if you want to look at it.