本文讲解如何使用intellij 关联源码操作。
快速学习一个新框架的最好方式就是跟着 下载对应框架的向导代码,然后debug 跟代码了。这里面有一个很关键的操作就是如何使用IDE关联源码。对于一些常用的架构比如spring 我们直接在intellij idea上点击 Down Sources就好了,但是对于一些行业领域内比较新的或者比较偏门的架构的这种方法就失效了,往往在点击Down Sources以后等了好久,都不见源码的下载成功。本文讲解的就是这种情况。
本文以 geomesa为例子
1. 自己下载对应框架的源代码
https://github.com/locationtech/geomesa/archive/geomesa_2.11-2.3.0.zip
unzip geomesa_2.11-2.3.0.zip
2. 源码打包
比如我们想关联HBaseDataStore.scala 这个源码,我们先定位一下源码所在的package。然后进入源码对应的目录。 注意intellij关联源码支持目录关联但是不是很好用。 下面思路是直接把源文件压缩打包成jar包。注意这里虽然是jar包,但并非是编译以后的jar包,这里的jar只是压缩的格式而已(类似于zip)。
而且注意一定要进入 src/main/scala中打包否则ide不认。
# 注意 intellij
cd geomesa-geomesa_2.11-2.3.0/geomesa-hbase/geomesa-hbase-datastore/src/main/scala
jar cf geomesa-hbase-source-2.11-2.3.0.jar org
$ls
geomesa-hbase-source-2.11-2.3.0.jar org
3. IDE关联源码
在intellij中打开 HBaseDataStore.scala的反编译文件,点击右上角的 关联源码-> 关联上面的jar包就完事了。