maven項目無法查看類庫的源碼
一個Maven項目有兩種類庫,分別是JRE System Libaray和Maven Dependencies。
JRE System Libaray 一般有兩種方法指定。
1、由pom.xml中的maven-compiler-plugin插件指定。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId><version>3.6.1</version> <configuration> <encoding>utf-8</encoding> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
2、由項目的Properties指定。
Properties - Java Build Path > Libraries 改成Workspace default JRE
(其中這個Workspace default JRE一般在配置eclipse的時候,指定成本地JDK路徑)
Properties - Java Compiler > Enable project specific settings 不勾選
一般情況下,maven項目總是會配置maven-compiler-plugin,否則項目時常會出現一些版本上的錯誤,
所以只考慮第一個方法。
第一種方法使用的JRE System Libaray,顯示為JavaSE-1.8,
展開樹狀圖,可以發現雖然指向的確實是本地Java的安裝路徑,但是僅僅只有jre目錄下的jar文件。
所以需要為rt.jar指定源碼和Javadoc
Properties - Java Build Path > Libraries - Java System Library [JavaSE-1.8] - rt.jar - Source attachment: 指定為本地JDK目錄下的src.zip
Properties - Java Build Path > Libraries - Java System Library [JavaSE-1.8] - rt.jar - Javadoc location: 指定為https://docs.oracle.com/javase/8/docs/api/
Maven Dependencies
如果為Maven設置了鏈接速度較快的國內鏡像站的話,很難出現無法查看maven依賴中的源碼。
一旦出現了,右鍵項目 Maven - Download Sources 和 Download JavaDocs 即可。
此外,有些JDK的類是屬於Java的核心組件,是不提供源碼的,所以自然提示“Source not found”了,比如
sun.reflect.NativeMethodAccessorImpl
maven項目無法查看類庫的源碼