【发布时间】:2018-09-08 12:37:34
【问题描述】:
我在使用 IntelliJ 时遇到问题 - 如果我 ctrl+单击该类,它会显示该类的“反编译”版本而不是其源代码。
这是我看到的:
我正在尝试打开常规的 JDK 源文件。
我发现的最相关的问题在这里解释:Java sources replaced by decompiled files in Intellij
到目前为止我找到的最详细的答案也在那里。
但它对我不起作用:
字节码查看器插件已关闭。
Java Bytecode Decompiler 插件已关闭。
Platform、Project 和 Module 都具有相同的 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 源路径选项卡时 - 它开始“扫描根目录”,但警告我它“无法确定所选项目包含哪种文件”并让我“将它们附加为‘源’”所以我同意了。
Tried File > Invalidate Caches / Restart... - 结果相同。
2017.3 和新的 IntelliJ 2018.1 版本中的相同问题。
为文档提供路径使 IntelliJ 在指定路径中查找文档。所以它对两个 JDK 都适用。但不适用于来源。
其他一切工作/编译正常。
我的设置:
【问题讨论】:
-
项目/模块中使用了 2 个配置的 JDK 中的哪一个?它有附加的来源吗?尝试删除第二个 JDK 配置。
-
感谢您的回复。我在项目/模块中与它们保持一致的同时尝试了这两个 jdks,但没有运气。刚刚删除捆绑的jdk,缓存无效,重新启动。问题仍然存在。现在我有两台机器可以比较。两者都有相同的新 IDE 版本。两者都运行 32 位版本的 Intellij。两者都安装了相同且唯一的 jdk 版本(jdk1.8.0_161)。两者都有相同的设置(通过设置存储库同步)。在第二台机器上一切正常!创建新项目时的行为相同。我什至不知道现在该尝试什么......
-
尝试删除 IDE 配置 (intellij-support.jetbrains.com/hc/articles/206544519),然后在不导入设置的情况下从头开始设置所有内容。
-
好的,看来问题出在项目本身。删除设置可以解决问题,直到我打开项目。然后我收到这条反编译消息,要求同意某些条件,然后它开始再次向我显示反编译的代码版本。不得不重新导入它而不是重新打开
-
不幸的是,它仍然不时发生。现在在我的 Android Studio 项目中.. 懒得反击.. 如上所述尝试删除设置并重新导入您的项目
标签: intellij-idea settings decompiler