今天在IDEA中想要阅读源码的时候发现自己点击导入包的类时看到的是.class文件反编译过来的代码,并没有注释,花了一段时间,解决了问题。
注意,在这里我针对的是Maven项目下的处理方式,但是手动导入jar包的原理应该是一样的,如果不是Maven项目的博友,可以从本文提出方向去思考一下。
问题图片
照理来说,选择了正确的jar包文件,就会显示出源码文件(即.java文件)
点击之后出现:
说明jar包文件中并不包含源码文件,而是只有.class文件。
所以,问题转换:应该去下载包含源码和文档的jar包,并且导入依赖。
问题解决
1、 进入Setting
2、进入Maven设置页面,勾选下面3项。
这样保证以后的Maven都会自动下载上述三种文档,那如果已经之前下载过的如何下载呢?
3、在IDEA右边侧栏中点击Maven框,选择jar包进行下载
问题解决…?
正常情况下,应该都可以解决问题。
但是博主在这个地方仍然出现了一些问题:
问题1、点击下载按钮后,完全没有发生变化,打开依旧是.class文件
可以考虑的方向:是否是jar包的版本太老,Maven线上仓库已经没有对应版本的下载,因此点击按钮后也会提示下载失败,下载失败,理所当然的就是没有变化。
问题2、点击下载按钮后,部分代码有注释,部分代码还是.class文件
可以考虑的方向:还是应该考虑版本的问题,有可能是选择的版本太新,导致部分类没有对应的源码和文档,可以试一下降版本。
一言以蔽之,如果你的想要查看源码的时候,只显示出了反编译后的.class文件,需要检查以下几点:
- jar包中是否包含源码和文档(这个可以自己解压看一下就知道了,如果有的话,一般是会有文件名包含doc或source的词缀)
- jar包是否版本过老
- jar包是否版本过新