首先尝试使用
mvn dependency:resolve -Dclassifier=sources -X
根据日志,发现使用的是本地代码仓库而非线上的maven。检查本地目录,发现确实没有source的jar包。
然后发现jar包开发时配置错误
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
该插件的执行phase应该是compile而非install。如果写成install,那么就有一定几率在本地生成文件后再打jar包。这样,本地仓库就没有source jar。但如果试运行deploy,线上就会有source jar。此时,在使用时,就会产生线上明明存在source jar本地却无法解析的困惑。