Maven 如何解决某些类库没有提供 source jar 和 javadoc jar 的问题
TL;DR
在类库中运行以下 maven 命令,手动构建 source jar 和 javadoc jar。 然后在项目中把类库版本修改为对应的 SNAPSHOT 版本。
mvn source:jar javadoc:jar install
详细解释
近日,在工作中遇到某些类库没有提供 source jar 和 javadoc jar。在 IDE 调试的时候既无法查看 javadoc,调试时又无法跳转到源代码。 对着反编译出来的代码,实在搞不懂问题何在的时候,觉得还是要对着类库源代码追踪才能解决问题。
构建 source jar 和 javadoc jar
由于类库本身没有提供 source jar 和 javadoc jar,最好的办法就是自己 build 出来(前提是能搞到源代码)。
先下载源代码到本地,然后执行 maven 命令:
mvn source:jar javadoc:jar install
这里 source:jar
和 javadoc:jar
命令,分别构建 source jar 和 javadoc jar。jar 包构建完成后,会放到 /target
目录下,分别以 sources.jar
和 javadoc.jar
为后缀。
其实到了这里,你已经可以在 IDE 中手动指定 source jar 的路径。但是这样略有些不方便。
mvn install
会把构建好的 jar 包安装到 MAVEN_HOME 目录下,一般来说,就是你熟悉的 ~/.m2/repository
目录。
在 pom.xml 更新类库版本为 SNAPSHOT 版本
如无意外的话,本地构建的版本都为 SNAPSHOT 版本。例如,如果你在项目中依赖的是 2.0.3,那么你手动构建的版本一半为 2.0.3-SNAPSHOT。
由于该 SNAPSHOT 版本已经通过 mvn install
命令安装到 MAVEN_HOME 下,只要在 pom.xml 更新到对应版本,IDE 就可以自动识别到对应的 source jar 和 javadoc jar。