IntelliJに問題があります。クラスをCtrlキーを押しながらクリックすると、ソースコードではなく、クラスの「逆コンパイル済み」バージョンが表示されます。
これは私が見るものです:
通常のJDKソースファイルを開こうとしています。
私が見つけた最も関連性のある問題は、ここで説明されています: Intellijで逆コンパイルされたファイルに置き換えられたJavaソース
私がこれまでに見つけた最も詳細な答えもあります。
しかし、それは私にとってはうまくいきません:
バイトコードビューアープラグインはオフです。
Java Bytecode Decompilerプラグインはオフです。
プラットフォーム、プロジェクト、およびモジュールのJDKバージョン設定はすべて同じです。
IntelliJでは、jdk1.8.0_161とjbsdk8u112b287.2_windows_x86の2つのJDKを使用できます(IntelliJにバンドルされていますが、src.Zipは付属していません)。両方で試してみました(jbsdk8u112b287.2_windows_x86に対してjdk1.8.0_161のsrc.Zipを指定する必要がありました)-運がありません
src.Zipは破損していません-WinRARで開くことができます
Jdk1.8.0_161をIntelliJに追加すると、src.Zipが自動的に見つかりました。 src.Zipをjbsdk8u112b287.2_windows_x86 Sourcepathタブに手動で追加すると、「ルートのスキャン」が開始されましたが、「選択したアイテムに含まれるファイルの種類を判別できない」と警告され、「それらを「ソース」として添付する」同意した。
[ファイルの試行]> [キャッシュの無効化/再起動...]-同じ結果。
IntelliJの2017.3と2018.1の最新バージョンで同じ問題。
ドキュメントのパスを指定すると、IntelliJは指定されたパスでドキュメントを検索します。したがって、両方のJDKで正常に機能します。しかし、ソースではありません。
それ以外はすべて正常に動作/コンパイルされます。
私の設定:
JDKのソースファイルをダウンロードしてインストールしたことを確認してください。
私はArch Linuxを使用しており、pacman -S openjdk8-src
はsrc.Zip
into /usr/lib/jvm/Java-8-openjdk/
。次の手順では、このZipファイルを使用します。
さまざまなJDKバージョンのソースパッケージを一覧表示するには、pacman -Ss "openjdk.*-src"
。
特定のプラットフォームのソースファイルを取得する方法については、 この質問 を参照してください。
モジュールの設定で(で開きます F4)「プラットフォーム設定」→「SDK」→「ソースパス」で、プラス記号の付いたボタンを使用して、JDKソースを含むZipファイルをプロジェクトJDKに追加します(IntelliJに複数のJDKがリストされている場合は必ず正しいJDKを選択してください) :
IntelliJの Search Everywhere を使用して、Comparator
などのJDKクラスを選択します。 Ctrl+b クラスの名前にカーソルを合わせます。
私は同じ問題に出会い、JDKを別のフォルダーにコピーしてIntelliJの設定を変更した後、最終的に消えました。 「Program Files」フォルダーの下にインストールされているため、前にパスにスペースがある可能性があります。