Javaのclassファイルをデコンパイルしてソースを確認する方法(Java Decompiler・eclipse編)

Javaのclassファイルをでコンパイルして確認したい時に利用できる方法です。

Javaのeclipseでデバッグをしている時、なんだか振る舞いが想定と違う場合があります。

自分で書いたソースだと、不具合が発生している部分が特定しやすいですが、jarライブラリを利用していると、どこで不具合を生じているのか、検証しにくい場合があり、ソースを閲覧してみたい場合があります。

通常、classファイルをeclipseでダブルクリックしても、ソースを見ることはできません。

そんな時には、Javaのデコンパイル可能なモジュールをセットアップすることで、ソースを見ることができるようになります。

一昔前までは、「Jad」というプロジェクトが有名だったのですが、開発がストップしており、javaのバージョン1.5以上だと、対応していません。

今では、「Java Decompiler」を利用するのが良いようですね。

「Java Decompiler」の公式HPはこちらです。

 

単体のGUIアプリとしても使えますが、Eclipseのプラグインとしても利用可能ですので、そのセットアップ手順をご紹介します。

 

EclipseでのJava Decompilerセットアップ手順

eclipse上で、「Help ⇒ Install New Software」をクリックする。

image
 

 

すると、以下のような「Install」ダイアログが開く。

image
 

 

ここで「Add」ボタンを押すと、下記のような「Add Repository」ダイアログが開くので、

Name: JD-Eclipse Update Site(分かりやすい名前で構わない)

Location: http://java.decompiler.free.fr/jd-eclipse/update

を入力してOKを押す。すると、ここで指定したURLに対してプラグインを探しに行く。

image
 

 

下記のように、「Java Decompiler Eclipse Plug-in」と「JD-Eclipse Plug-in」にチェックを入れて、「Next」ボタンを押す。

image
 

 

ライセンスに合意を促す画面が表示されるので、合意して、「Finish」ボタンで終了する。

これでOK!と思ったのですが、下記のようなエラーが出て、失敗してしまいました。

An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Artifact not found: osgi.bundle,jd.ide.eclipse,0.1.3.
http://java.decompiler.free.fr/jd-eclipse/update/plugins/jd.ide.eclipse_0.1.3.jar
Artifact not found: osgi.bundle,jd.ide.eclipse.win32.x86,0.1.3.
http://java.decompiler.free.fr/jd-eclipse/update/plugins/jd.ide.eclipse.win32.x86_0.1.3.jar

 

確認してみると、このURLにはもう、plug-in用のjarファイルが置かれていないようですね。。

残念。

ということで、本家の「JD-Eclipse」のページにもある、ダウンロードページからzipを落としてきます。

http://jd.benow.ca/jd-eclipse/downloads/jdeclipse_update_site.zip

 

 

落としたzipを解凍するとできる、「features」と「plugins」フォルダを、Eclipseの同じ名前のディレクトリに上書きし、Eclipseを再起動します。

Window ⇒ Preferences ⇒ Java ⇒ Decompiler

が下のようになっていたら、認識されているので、とりあえずインストールは成功です。

image
 

 

classファイルをダブルクリックすると、デコンパイルされたソースが見れるでしょう。 image

 

それでも、何かエラーが出て動かない場合は、こちらの記事を参考ください。

 



こんな記事も関係あるかも。読んでみてね。

One Response to “Javaのclassファイルをデコンパイルしてソースを確認する方法(Java Decompiler・eclipse編)”

  1. […] Javaのclassファイルをデコンパイルしてソースを確認する方法(Java Decompiler・eclipse編) […]

コメントを残す

サブコンテンツ

このページの先頭へ