1. 程式人生 > >maven項目無法查看類庫的源碼

maven項目無法查看類庫的源碼

jre -1 org Coding 類庫 pen div 自然 att

一個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項目無法查看類庫的源碼