maven项目无法查看类库的源码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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项目无法查看类库的源码的主要内容,如果未能解决你的问题,请参考以下文章

“无法直接启动输出类型为类库的项目”

Java类库的源码

如何在eclipse中查看JDK类库的代码

JAVA学习-Eclipse中查看JDK类库的源代码

eclipse使用maven tomcat插件部署无法关联源代码

OpenJDK 源码目录结构