IntelliJ IDEA 中看到 classes, sources, javadocs 三种jar的区别和各自的作用

简介: 在 intelliJ idea 里面看到 ,Project Structure——》 Libraries ——》 Sources 的路径是红色的看图会比较好。以guava包为例来说明。可以看到在这看整个maven项目的依赖时,发现如图的情况,这红色是什么情况,是报错吗?需要处理吗?这3个不同jar都是什么东西,各自有啥作用。

在 intelliJ idea 里面看到 ,Project Structure——》 Libraries ——》 Sources 的路径是红色的

看图会比较好。以guava包为例来说明。

可以看到在这看整个maven项目的依赖时,发现如图的情况,这红色是什么情况,是报错吗?需要处理吗?这3个不同jar都是什么东西,各自有啥作用。大概会有这么些疑问吧。️。

假如在依赖库如上的情况下,你点进去,看guava的源码,会有下图的效果。

给你2个选择,一个是选则source,一个是下载source。注意,这个时候,你看到的文件是class文件,是可以直接运行的文件,之所以能看到内部的具体实现,是idea给你自动逆转换啦。感谢idea吧

(记得当年刚刚工作的时候,使用的eclipse,然后debug的时候,假如要进入这些个没有sources的jar的时候,就进不去这个class文件,他还傻乎乎的给个弹窗,让我倒入sources文件,还是idea高级,直接喊你下载。)

这个时候点击download sources,下载源码。

这个时候,你看到的文件,就变成啦Java文件,而且,还带上了很多的注释。

这个时候,再看仓库library的变化

可以看到刚刚还是红色的sources文件,现在有啦,下面的Javadoc还没有。

然后,再看mven的repository里面的情况

可以看到jar类型的文件jar包,这地方有2个。

(有么有疑惑,这个带sources的jar怎么比classes的jar还小呢?因为Java文件在编译生成class文件的时候,会对代码进行优化,这个优化是针对运行的,所以,由Java文件变class文件,他到底是变大,还是变小,这个是不确定。)

三个jar包同时存在的也不是没有,看下面

最后,说一下,各自的作用。

classes的jar,是正儿八经运行项目的时候使用的,因为这个是直接编译好的class文件,可以直接被虚拟机运行的。

sources的jar,就是给开发人员看的,自己在学习和debug的时候,可以看到jar包里面的各种注释说明,方便学习。

Javadoc的jar,也和sources的jar一个道理吧,起到辅助的作用吧。这个不是必须的,guava就没有提示你下载这个,就已经显示了很多的注释了。

所以,

最开始的那个图里面的只要classes的jar不报错,下面的2个jar,可有可无。不是什么问题。

了解原理就好啦。

我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。

我先点为敬,你们随意。大家随意。不要客气。。。

作者:李学凯
来源:CSDN

相关文章
|
16天前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
35 4
|
3天前
|
Linux 开发工具 Windows
在WSL2中安装IntelliJ IDEA开发工具
在WSL2中安装IntelliJ IDEA开发工具
17 2
|
1天前
|
监控 IDE Java
探索 IntelliJ IDEA 中 Spring Boot 运行配置选项及其作用
探索 IntelliJ IDEA 中 Spring Boot 运行配置选项及其作用
5 0
|
1天前
|
IDE Java 开发工具
IntelliJ IDEA 2023.3 最新变化3
IntelliJ IDEA 2023.3 最新变化
11 0
|
1天前
|
人工智能 IDE Java
IntelliJ IDEA 2023.3 最新变化1
IntelliJ IDEA 2023.3 最新变化
15 0
|
4天前
|
Java Linux
IDEA远程调试Centos部署的jar包
IDEA远程调试Centos部署的jar包
7 0
|
4天前
|
Java
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
9 0
|
5天前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
12 0
|
7天前
|
Java Scala Maven
Intellij IDEA+Maven+Scala第一个程序
Intellij IDEA+Maven+Scala第一个程序
14 0
|
8天前
|
缓存 IDE Java
IntelliJ IDEA 2023.1 正式发布,看看又多了那些神仙功能..
IntelliJ IDEA 2023.1 正式发布,看看又多了那些神仙功能..
13 0

热门文章

最新文章