我遇到IntelliJ的问题 - 它向我展示了一个"反编译的"如果我按住Ctrl键并单击该类,则该类的版本而不是其源代码。
这就是我所看到的:
我正在尝试打开常规的JDK源文件。
我在此处解释了最相关的问题:Java sources replaced by decompiled files in Intellij
到目前为止,我发现的最详细答案也是如此。
但它对我不起作用:
Bytecode Viewer插件已关闭。
Java Bytecode Decompiler插件已关闭。
平台,项目和模块都具有相同的JDK版本设置。
我在IntelliJ中有两个JDK:jdk1.8.0_161和jbsdk8u112b287.2_windows_x86(与IntelliJ捆绑在一起,但没有src.zip)。尝试两者(必须为jbskk指定src.zip jdk1.8.0_161为jbsdk8u112b287.2_windows_x86) - 没有运气
src.zip没有损坏 - 我可以通过WinRAR打开它
将jdk1.8.0_161添加到IntelliJ时,会自动找到src.zip。当手动将src.zip添加到jbsdk8u112b287.2_windows_x86 Sourcepath选项卡时 - 它开始"扫描根和#34;但警告我它"无法确定所选项目包含哪种文件"并邀请我将他们作为'来源'"所以我同意了。
尝试过的文件>无效缓存/重新启动... - 结果相同。
2017.3和IntelliJ的新2018.1版本中的相同问题。
提供文档路径使IntelliJ在指定的路径中查找文档。所以它适用于两个JDK。但不是来源。
其他所有工作/正确编译。
我的设置:
答案 0 :(得分:3)
确保已下载并安装了JDK的源文件。
我在Arch Linux上安装了pacman -S openjdk8-src
,并将src.zip
放入/usr/lib/jvm/java-8-openjdk/
。下一步,我们将使用该zip文件。
有关如何获取特定平台的源文件,请参见this question。
在“平台设置”->“ SDK”->“源路径”下的模块设置(使用 F4 打开它们)中,将包含JDK源的zip文件添加到项目JDK中(如果IntelliJ列出了多个JDK,请确保选择正确的JDK,请使用带有加号的按钮:
使用IntelliJ的Search Everywhere或 Ctrl + b 选择一个JDK类,例如Comparator
,并将光标放在类的名称上。
答案 1 :(得分:1)
答案 2 :(得分:0)
答案 3 :(得分:0)
我遇到了同样的问题,最终在我将JDK复制到另一个文件夹并在IntelliJ中更改配置后消失了。我认为可能是因为路径之前存在空格,因为它安装在“ Program Files”文件夹下。
答案 4 :(得分:0)
# find version
$ sdk list java
# download
$ sdk install java x.y.z-amzn
ctrl+alt+shift+s
添加JDK
Install Java
答案 5 :(得分:0)
这对于大文件也会发生 - IDEA 决定反编译它们,如果索引源,这可能需要很长时间。 如果您愿意接受缩编,请在Help | 中添加以下内容。编辑自定义属性可能会解决问题:
idea.max.intellisense.filesize=4096
答案 6 :(得分:0)
如果您使用的是 maven ,请右键单击项目资源管理器 -> 选择 Maven -> 选择“重新加载项目”
答案 7 :(得分:0)
答案 8 :(得分:-1)
答案 9 :(得分:-1)
答案 10 :(得分:-1)
为此,我尝试了其他地方提到的所有事情,但最后我犯了一个愚蠢的错误。 Intellij指向没有源代码的JDK 11(我同时拥有SDK 8和11)。我删除了JDK 11并指向JDK8。JDK具有源代码,因此现在可以在ctrl单击上看到源代码。另外,我禁用了字节码查看器和反编译器插件。希望这可以帮助一些人。