当我使用 ctrl + 右键单击 打开特定类时,我应该被重定向到一个包含 java 源代码的窗口,其中包含所有行和适当的注释。但我得到了一个带有反编译的 .class 文件的窗口。
我尝试停用反编译器插件,但不起作用。
如果我将 http://docs.oracle.com/javase/8/docs/api 添加到项目结构 -> SDK -> 文档路径,我可以获得我正在滚动的类或方法的概述,但是仍然无法打开正确的源文件。
有什么想法吗?
导航到源时,IDEA 将首先转到附加源。如果不存在,它将反编译该类并显示它。
尝试以下故障排除来查找问题:
1。确保源已正确连接。
对于库,打开项目结构对话框(Ctrl+Alt+Shift+S或⌘;)并选择左侧“项目设置”下的“库”。找到有问题的库,然后选择它。它将显示是否附加了源。你提到你已经检查了 Maven 的“自动下载”源/文档。因此,对于任何有可用源代码的 Maven 库,都应该列出它。
如果未列出或呈红色,请从 Maven 工具窗口运行“下载源代码”或“下载源代码和文档”。如果源一直呈红色,则可能意味着 Maven 存储库中的该工件不可用。使用 Maven Search 来验证这一点。
对于 JDK,在“项目结构”对话框中选择“SDK”,找到 JDK,然后选择“源路径”选项卡。确保列出了 {jdk-home}/src.zip 文件。
IDEA 应该在您添加 JDK 时自动设置此项,但如果没有,请添加它。
2。确保源 JAR/ZIP 文件未损坏
导航到资源管理器/查找器中的存档,并确保可以打开和查看它。
3.刷新IDEA的缓存
IDEA 的缓存/索引可能已损坏。因此,IDEA 没有“看到”类和源代码之间的链接。转到 File > Invalidate Caches / Restart...”。使缓存无效并重新启动 IDEA。等待 IDEA 完成对项目和库的重新索引(在 IDEA 窗口右下角观察进度)。
上述其中一项应该可以解决问题。
仅供参考,如果您不希望 IDEA 反编译代码(作为不存在源的备份),据我所知(并且基于其帮助页面),唯一的方法是禁用插件列表中的“Java Bytecode Decompiler”。
在确保附加了我的源代码、检查源 ZIP、使 IntelliJ 缓存无效并重新启动后,我仍然遇到同样的问题。
为了解决这个问题,我重新创建了项目
File > New > Project From Existing Sources...
,当我进入库选择步骤时,我取消选择了我自己的模块的.jars
。