在 intelliJ idea 里面看到 ,Project Structure => Libraries => Sources 的路径是红色的
以 guava 包为例来说明
假如在依赖库如上的情况下,点进去看 guava 的源码,会有下图的效果
有 2 个选择,一个是选择 source,一个是下载 source。这个时候,看到的文件是 class 文件,是可以直接运行的文件,之所以能看到内部的具体实现,是 idea 自动逆转换了,其实文本长这样:
用 .jar 单步调试的时候,会有莫名其妙的跳转,跳到非代码行,应该就是逆转换的误差
这个时候点击 download sources,下载源码
这个时候看到的文件,就变成 Java 文件,而且还带上了很多的注释
这个时候,再看仓库 library 的变化
可以看到刚刚还是红色的 sources 文件,现在有了,下面的 Javadoc 还没有
作用
classes 的 jar,是运行项目的时候使用的,因为这个是直接编译好的 class 文件,可以直接被虚拟机运行的,只要这个 jar 没问题,其他 2 个 jar 有缺失,对项目运行无影响
sources 的 jar,是给开发人员看的,自己在学习和 debug 的时候,可以看到 jar 包里面的各种注释说明
Javadoc 的 jar,也和 sources 的 jar 一个道理,起到辅助的作用
网友评论