Maven:解决IDEA无法下载源码
通过点击进IDEA反编译的代码文件处下载源代码Sources。
IDEA提示报错,无法下载源代码。
解决办法:
mvn dependency:resolve 是解决项目的所有依赖项。最后,它将打印出已解决依赖项的详细信息。指定可选参数classifier=sources,将尝试分析下载对应的依赖的源代码。打开Teminal,使用本地的Maven执行,然后在下载就有了。
1 mvn dependency:resolve -Dclassifier=sources
后面又碰到一次IDEA无法下载源码的问题。
先去确认 IDEA 的 File | Settings | Build, Execution, Deployment > Maven设置,maven版本是3.8.3,配置文件也是3.8.3的,本地Maven仓库也有设置。
再次点击下载源码,依旧无法下载。
先去看看本地的Maven仓库有没有下载源代码,发现有一个关于 slf4j-api-1.7.21-sources.jar.lastUpdated 的文件,这个文件是Maven尝试下载 slf4j-api 源代码但是失败了的记录文件。
使用notepad++打开该文件,根据里面的内容,看来无法下载是和这个maven-default-http-blocker 有很大的关系了。
1 #NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice. 2 #Sun Nov 21 16:52:48 CST 2021 3 http\://0.0.0.0/.error=Could not transfer artifact org.slf4j\:slf4j-api\:jar\:sources\:1.7.21 from/to maven-default-http-blocker (http\://0.0.0.0/)\: Blocked mirror for repositories\: [nexus-aliyun (http\://maven.aliyun.com/nexus/content/groups/public, default, releases)] 4 @default-maven-default-http-blocker-http\://0.0.0.0/.lastUpdated=1637484768579
查看 setting.xml 文件,找到了以下相关的配置,注释掉这个maven-default-http-blocker的镜像,上面说是这个东西,阻碍了去阿里的镜像库查找依赖。这个当时不知道是为了解决啥问题设置上去,先注释掉。
保存后重启IDEA,然后就可以下载了,问题解决。
本地仓库中也下载了源代码文件。