如何在Eclipse中查看Java SDK类源码?添加jar后仍提示源码未找到
解决Eclipse中查看Java核心类源码提示“源码未找到”的问题
你遇到的这个问题其实很常见——虽然你添加了java-util-1.8.0.jar,但Java核心类(比如List、ArrayList这类java.util包下的类)的源码根本不在这个单独的jar里,而是打包在JDK安装目录的src.zip压缩包中。Eclipse默认没关联这个源码包,所以才会弹出“源码未找到”的提示。下面给你一步步说怎么解决:
第一步:确认JDK源码包的位置
先找到你的JDK安装目录(比如Windows下可能是C:\Program Files\Java\jdk1.8.0_202,Mac下可能是/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home),里面一定会有一个叫src.zip的文件,这就是Java核心类的源码集合。如果找不到这个文件,说明你装的是精简版JRE而非完整JDK,得重新下载安装带源码的JDK版本。第二步:在Eclipse中关联JDK源码包
- 打开Eclipse,Windows系统点击顶部菜单栏的
Window→Preferences;Mac系统点击Eclipse→Preferences。 - 在弹出的设置窗口里,展开
Java→Installed JREs选项。 - 找到你当前项目正在使用的JDK(注意是JDK,不是JRE),选中它后点击右侧的
Edit按钮。 - 在编辑界面里,找到列表中的
rt.jar(这是Java核心类库,包含所有java.util、java.lang等基础包的类),选中它后点击右侧的Source Attachment按钮。 - 在弹出的窗口中选择
External File,然后浏览找到JDK目录下的src.zip,选中后依次点击OK保存所有设置。
- 打开Eclipse,Windows系统点击顶部菜单栏的
第三步:验证效果
回到你的代码里,按住Ctrl点击List,选择Open Declaration,现在应该能正常看到List接口的完整源码和方法定义了。
另外提醒一句:别再手动添加单独的java-util-1.8.0.jar了,这些类已经包含在JDK的rt.jar里,重复添加反而可能引发类加载冲突。
内容的提问来源于stack exchange,提问作者v0ld3m0rt




