IntelliJ中Ctrl+左键点击类跳转至Jar而非Java文件的解决方法
这问题我之前踩过坑,大概率是你的项目没正确关联类B对应的源码包,或者IntelliJ的缓存/路径识别出了问题。按下面的步骤挨个排查,基本能搞定:
检查并关联源码包
如果你用的是Maven/Gradle这类构建工具,先右键项目里的依赖(找到类B所在的Jar),选择「Download Sources」,IntelliJ会自动下载并关联对应的源码包。要是手动管理依赖的话,打开「Project Structure」(快捷键Ctrl+Alt+Shift+S),找到「Libraries」,选中类B的Jar,看右侧面板有没有关联Sources——没有的话点加号,选择对应的xxx-sources.jar或者解压后的源码文件夹就行。确认源码路径标记正确
同样在「Project Structure」里,进入「Modules」→ 对应模块 →「Sources」标签页,确保类B的源码所在文件夹被标记为「Sources」(蓝色文件夹图标)。第三方库的源码如果是手动添加的,也得确保它被归到正确的源码路径下。清除缓存重启IntelliJ
有时候IDE缓存会搞乌龙,导致路径识别出错。点击「File」→「Invalidate Caches...」,选择「Invalidate and Restart」,等IDE重启后再试试跳转,很多时候这步就能解决问题。临时应急方案
要是上面的方法暂时没生效,你可以按住Ctrl+Alt再左键点击类B的名称,这时会弹出可选的跳转目标列表,直接选对应的.java源码文件就行——不过这只是临时 workaround,还是建议把根本问题解决掉。
内容的提问来源于stack exchange,提问作者Druudik

