46

Java Decompiler(JD)は、一般的に、優れたJavaDecompilerとして推奨されています。JD-Eclipseは、JD用のEclipseプラグインです。

プラグインを実行するために、いくつかの異なるマシンで問題が発生しました。.classファイルを開こうとすると、標準の「ソースが見つかりません」エディタが表示され、逆コンパイラから期待されるJavaソース出力ではなく、低レベルのバイトコード逆アセンブリが表示されます。

http://java.decompiler.free.fr/?q=jdeclipseのインストールドキュメントは悪くはありませんが、トラブルシューティングに関してはかなりあいまいです。

追加情報を収集するためにこの質問を開く:JDがEclipse Heliosで実行される前に、どのような問題が発生しましたか?解決策は何でしたか?

4

15 に答える 15

37

これが私が遭遇したものです:

1) RTFM を使用して、インストール ドキュメントの冒頭に記載されている「Microsoft Visual C++ 2008 SP1 Redistributable Package」をインストールします。Helios の説明が最後にあるため、最初はこれを見逃していました。

2) クラス ファイルを開く前に、開いているすべてのエディター タブを閉じます。そうしないと、以前の試行から古いエディター タブを簡単に取得できます。

3) 「Java クラス ファイル エディタ」(「Java クラス ファイル ビューア」ではありません) でクラス ファイルを開きます。コンテキスト メニューの [アプリケーションから開く] を使用して、適切なエディターを取得します。満足のいく結果が得られた場合は、ファイルの関連付け設定でデフォルトのエディターに設定し、ウィンドウ/環境設定の一般/エディター/ファイルの関連付けで *.class を選択して、「Java クラス ファイル エディター」で開きます。

4)この男は、Helios 更新サイトから Equinox SDK をインストールすることを推奨しています。しましたが、これが本当に必要かどうかはわかりません。誰でも知っていますか?

5) 表示しようとしているクラス ファイルが Eclipse Java プロジェクトにある場合、それらはプロジェクトのビルド パスにある必要があります。そうしないと、例外 (「ビルド パスにありません」) が Eclipse エラー ログに表示され、逆コンパイルが失敗します。クラス ファイルをライブラリ/クラス ファイル フォルダーとしてビルド パスに追加しました。

6) Windows エクスプローラーからクラス ファイルをドラッグ アンド ドロップしたり、[ファイル] メニューの [ファイルを開く...] で開いたりしても機能しません。私のテストでは、「エディターを開けませんでした: クラス ファイル ビューアーは、指定された入力 ('org.eclipse.ui.ide.FileStoreEditorInput') を処理できません。」エラー。いずれにせよ、それはおそらく間違ったエディターです。3) を参照してください。

7) プラグインを基本的に実行した後、一部のファイルは不明な理由で逆コンパイルされません。これは、すべてのタブを閉じて Helios を再起動し、再試行すると消えました。

于 2010-12-22T18:07:53.723 に答える
18

Eclipse Juno で動作させるには、追加の手順を実行する必要がありました。

一般 -> エディタ -> ファイルの関連付け

  1. 「*.class」を選択し、「Class File Editor」をデフォルトとしてマークします
  2. 「*.class without source」を選択 -> Add -> 「Class File Editor」 -> Make it as default
  3. 日食を再開する
于 2013-04-10T12:23:38.133 に答える
9

JD-eclipse プラグイン 0.1.3 は、 classpath/Build Path から見える .class ファイルのみを逆コンパイルできます。

クラスが .jarにある場合は、この jar を別のライブラリとしてビルド パスに追加するだけです。パッケージ エクスプローラーから新しいライブラリを参照し、クラス ファイル エディターでクラスを開きます。

ファイル システム上の任意のクラスを逆コンパイルする場合は、そのクラスが適切なフォルダー階層に存在し、ルート フォルダーがビルド パスに含まれている必要があります。次に例を示します。

  1. クラスは .../someDir/ foo/bar/MyClass.class の foo.bar.MyClass です。
  2. Eclipse プロジェクトで、.../someDir にリンクする任意の名前 aClassDir のフォルダーを追加します。
  3. そのリンクされたフォルダーをプロジェクトのビルド パスに追加します。
  4. ナビゲーター ビューを使用して、クラス ファイル エディターで .class ファイルをナビゲートして開きます。(注: ファイル システム上のプレーンな .class ファイルは、[パッケージ エクスプローラー] ビューでは非表示になります。)

注: someDir がプロジェクトのサブフォルダーである場合は、手順 2 (リンク フォルダー) をスキップしてビルド パスに直接追加できる場合があります。しかし、それが Eclipse プロジェクトのコンパイラー出力フォルダーである場合、それは機能しません。

PSクラスパスに含める必要なく、プロジェクトのサブフォルダーにある.classファイルをダブルクリックできたらいいのにと思います...

于 2012-06-14T14:00:47.973 に答える
6

それを機能させるために私がした簡単なこと:

日食に行きました>ウィンドウ>設定

(オプション) 検索ボックスに「ファイル」と入力して、オプションのツリーを整理します。一般 > エディタ > ファイルの関連付けに移動しました。

「.class」タイプをクリックしました。その下には 2 つのエディタがあり、「クラス ファイル エディタ」をクリックしました。JD のアイコンが付いたエディタで、右側の「デフォルト」ボタンをクリックしました。

終わり。今、あなたのクラスはすべて私たちのものです。

于 2012-02-25T16:48:22.030 に答える
6

私はEclipse 3.7 IndigoとWindows 7 64ビットを使用しています:

私がしたことは、サイトで提案され、@Universalspezialist によって思い出されたように、Microsoft Visual C++ 2008 SP1 再頒布可能パッケージをインストールすることでした。

次に、サイトに記載されているようにプラグインをインストールします: http://java.decompiler.free.fr/?q=jdeclipse

設定に移動し、[ファイルの関連付け] を見つけて *.class をクリックし、[class File Editor] をデフォルトとして設定します。

おそらくEclipseを再起動しますか?(私はこれをしましたが、それが必要かどうかはわかりません)

于 2011-08-10T13:17:26.433 に答える
5

Juno、Kepler、および Luna でテストした後、JD はビルド パスの *.class ファイルに対してのみ機能することがわかりました。

  1. jar を既存のプロジェクトの lib として追加する
  2. [設定] -> [一般] -> [エディタ] -> [ファイルの関連付け] に移動し、カップ アイコンで設定*.class without sourceします。Class File Editor
于 2014-11-30T02:08:38.043 に答える
3

Eclipseバージョン 3.x および 4.x用の JAD Decompiler プラグイン。

更新サイト: http://feeling.sourceforge.net/update

手順:

  1. Eclipse IDE を開きます。
  2. [ヘルプ] -> [新しいソフトウェアのインストール] をクリックします
  3. 上記の URL を貼り付けて、JAD という名前を付けます。
  4. Eclipse クラス逆コンパイラを選択します
  5. [次へ] をクリックし、契約に同意します
  6. インストールします。
  7. Eclipse を再起動して確認します。
于 2013-11-19T10:59:01.490 に答える
3

3.6/3.7 Eclipse では動作しないため、代わりに jadeclipse を使用します。

更新サイト http://webobjects.mdimension.com/jadclipse/3.6/

インストール http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/

于 2011-08-05T09:04:08.773 に答える
2

スタンドアロンの jar を逆コンパイルする必要がある場合は、(JD-Eclipse の) 同じ作成者による JD-GUI を試してください。これはスタンドアロン アプリケーションです (Eclipse は必要ありません)。*.class ファイルと *.jar ファイルの両方を開くことができます。興味深いことに、.Net をインストールする必要があります (実際には JD-Eclipse のように) が、それ以外の場合は魅力的に機能します。

ここで見つけてください:

http://jd.benow.ca/

よろしく、

于 2015-06-05T15:31:01.000 に答える
1

ステップ1、2、3、および7を作成しました。クラスファイルを含むフォルダーをプロジェクトのビルドパスに配置しました(右クリック、プロパティ、Javaビルドパス、ライブラリ、クラスフォルダーの追加、新しいフォルダーの作成、高度な>> 、ファイルシステム内のフォルダーへのリンク、参照、...) その後、Eclipse を再起動します。

于 2011-12-06T22:28:07.553 に答える
0

JDページからサイトをダウンロードするだけです。Eclipse のインストール済みソフトウェア セクションのローカル サイトからインストールできました。

于 2012-11-09T14:52:45.157 に答える