web-dev-qa-db-ja.com

JavaソースはIntellijで逆コンパイルされたファイルに置き換えられました

ctrl +右クリックを使用して特定のクラスを開くと、Java)のウィンドウにリダイレクトされます。すべての行と適切なコメントを含むソース。しかし、代わりに、逆コンパイルされた.classファイルを含むウィンドウが表示されます。

デコンパイラプラグインを非アクティブ化しようとしましたが、機能しません。

http://docs.Oracle.com/javase/8/docs/api をプロジェクト構造-> SDK->ドキュメントパスに追加すると、クラスまたはメソッドの概要を取得できます。ロールオーバーしますが、それでも正しいソースファイルを開くことができません。

何か案は?

9
Lucian Nut

ソースに移動するとき、IDEAは最初に接続されたソースに移動します。存在しない場合は、クラスを逆コンパイルして表示します。

次のトラブルシューティングを試して、問題を追跡してください。

1。ソースが正しく接続されていることを確認してください。

ライブラリの場合は、[プロジェクト構造]ダイアログを開きます(Ctrl+Alt+Shift+S または ;)および左側の[プロジェクト設定]の下にある[ライブラリ]を選択します。問題のライブラリを見つけて選択します。ソースが添付されているかどうかが表示されます。 Mavenの「自動ダウンロード」ソース/ドキュメントの両方をチェックしているとのことですが。したがって、ソースが利用可能なMavenライブラリについては、リストする必要があります。

enter image description here

リストされていないか、赤で表示されている場合は、「ソースのダウンロード」または「ソースとドキュメントのダウンロード」を実行します enter image description here Mavenツールウィンドウから。ソースが赤で表示されている場合は、Mavenリポジトリ内のそのアーティファクトで使用できない可能性があります。 Maven Search を使用してそのことを確認します。

JDKの場合、[プロジェクト構造]ダイアログで[SDK]を選択し、JDKを見つけて、[ソースパス]タブを選択します。 {jdk-home} /src.Zipファイルがリストされていることを確認してください。

enter image description here

IDEAは、JDKを追加するときにこれを自動的に設定する必要がありますが、そうでない場合は追加します。

2。ソースJAR/Zipファイルが破損していないことを確認してください

Explorer/Finderでアーカイブに移動し、アーカイブを開いて表示できることを確認します。

3。 IDEAのキャッシュを更新します

IDEAのキャッシュ/インデックスが破損している可能性があります。そのため、IDEAはクラスとソースコード間のリンクを「認識」していません。ファイル>キャッシュの無効化/再起動... "。キャッシュを無効にしてIDEAを再起動します。IDEAがプロジェクトとライブラリのインデックスの再作成を完了するまで待ちます(IDEAの右下で進行状況を確認してください) =ウィンドウ)。

上記のいずれかで問題が解決するはずです。

参考までに、IDEA(ソースが存在しないことへのバックアップとして)コードを逆コンパイルしたくない場合は、私の知る限り(そして ヘルプページ)に基づいて )、これを行う唯一の方法は、プラグインリストの「Javaバイトコードデコンパイラ」を無効にすることです。

11
Javaru