开工:详解IDEA导入Spring源码

举报
阿Q说代码 发表于 2022/04/20 09:52:39 2022/04/20
【摘要】 春节期间,有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~

哈喽大家好,我是阿Q!

春节期间,有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~

版本 :IDEA 2020.2.3 ;Spring 5.0.x ;gradle 4.4.1 ;

先从github上面把 spring 源码下载下来并解压:

切记:解压完成后不要直接用IDEA 打开,因为Spring 的源码是用 gradle 构建的。如果已经用IDEA 打开了请删除后重新解压。

我们找到文件夹

spring-framework-5.0.x\gradle\wrapper

下的 gradle-wrapper.properties 文件,查看里边的 gradle 版本,去官网下载。

下载完成之后把 gradle 的环境变量配置一下,可以用gradle -version 来验证 gradle 是否配置成功

USER_HOME/.gradle/ 下面新建 init.gradle 文件,将国外源换成国内镜像

allprojects {
 repositories {
     def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
  all { ArtifactRepository repo ->
      if(repo instanceof MavenArtifactRepository){
       def url = repo.url.toString()
    if(url.startsWith('https://repo1.maven.org/maven2/')||url.startsWith('https://jcenter.bintray.com/')){
        project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
     remove repo
    }
   }
     }
  maven {
   url REPOSITORY_URL
  }
 }
}

spring-framework-5.0.x 下打开git 的窗口执行以下命令

./gradlew :spring-oxm:compileTestJava

该命令的作用是将 spring 转成IDEA 可以导入的工程结构。

如果你新开的 Windowsdos 窗口,先进入源码的目录文件夹,执行命令不用加前面的./

配置 IDEA 中的 gradle

使用 File -> openSpring 工程导入到 IDEA 中,并等待 jar 下载完成。

如遇报错信息:

build.gradle 中添加

maven { url "http://maven.aliyun.com/nexus/content/groups/public"}

其目的就是为了换成国内的镜像(init.gradle 有时没有生效)

编译时报错如下:

原因是 gradlegradle 插件版本过旧,更换更高的版本可以解决,但这个问题只是提示,不影响编译。

test 包中随便找了一个单元测试运行,成功运行

阿Q将持续更新java实战方面的文章,感兴趣的可以关注下公众号:阿Q说代码,也可以来技术群讨论问题呦,点赞之交值得深交!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。