gpt4 book ai didi

intellij-idea - IntelliJ 显示反编译的 .class 文件而不是源代码

转载 作者:行者123 更新时间:2023-12-03 10:43:15 71 4
gpt4 key购买 nike

我在使用 IntelliJ 时遇到问题 - 如果我 ctrl+单击该类,它会显示该类的“反编译”版本而不是其源代码。

这就是我所看到的:

Decompiled class message

我正在尝试打开常规的 JDK 源文件。

我发现的最相关的问题在这里解释:Java sources replaced by decompiled files in Intellij

到目前为止,我找到的最详细的答案也在那里。

然而它对我不起作用:

  • 字节码查看器插件已关闭。
  • Java 字节码反编译器插件已关闭。
  • 平台、项目和模块都具有相同的 JDK 版本设置。
  • 我在 IntelliJ 中有两个可用的 JDK:jdk1.8.0_161 和 jbsdk8u112b287.2_windows_x86(与 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 源路径选项卡时 - 它开始“扫描根目录”,但警告我它“无法确定所选项目包含哪种文件”并让我“将它们附加为‘源’”所以我同意了。
  • 尝试过文件 > 使缓存无效/重新启动... - 结果相同。
  • 2017.3 和新的 IntelliJ 2018.1 版本中的相同问题。
  • 为文档提供路径使 IntelliJ 在指定路径中查找文档。所以它对两个 JDK 都适用。但不适用于来源。
  • 其他一切都可以正常工作/编译。

  • 我的设置:

    Settings

    最佳答案

    1.获取源文件

    确保您已经下载并安装了 JDK 的源文件。

    我在 Arch Linux 上并使用 pacman -S openjdk8-src 安装它们其中放了 src.zip进入 /usr/lib/jvm/java-8-openjdk/ .我们将在下一步中使用该 zip 文件。

    要列出不同JDK版本的源包,请执行pacman -Ss "openjdk.*-src" .

    this question关于如何获取特定平台的源文件。

    2. 将 IntelliJ 指向源文件

    在“Platform Settings”→“SDKs”→“Sourcepath”下的模块设置(使用 F4 打开它们)中,将包含 JDK 源的 zip 文件添加到项目 JDK(如果 IntelliJ 列出多个,请确保选择正确的 JDK JDK)使用带有加号的按钮:

    Sourcepath screenshot

    3. 跳入源码

    选择一个 JDK 类,例如 Comparator , 使用 IntelliJ 的 Search Everywhere或 Ctrl+b 将光标放在类的名称上。

    Comparator source

    关于intellij-idea - IntelliJ 显示反编译的 .class 文件而不是源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49558009/

    71 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com