IDEA Spring源码环境搭建

1,233 阅读2分钟

 近期由于想看看Spring和SpringBoot源码,所以自己搭建了一下Spring和SpringBoot 源码环境,方便对源码的学习,今天分享出来,共同学习进步,踏上新的征程。

本篇只说Spring源码环境的搭建,下一篇会讲解一下 SpringBoot 源码环境的搭建。

第一步、先熟悉下搭建Spring源码环境需要的一些环境:

      1、IDEA2020.1(2020版本的IDEA出来之后,尽量用2020版本的,有人会问为啥?因为。。。更香,哈哈哈)

      2、java:1.8

      3、gradle: gradle-5.6.4-all.zip(下载地址:services.gradle.org/distributio…,各个版本都有)

      4、配置环境变量:JAVA_HOME,GRADLE_HOME(这些应该不用多说了,实在不知道的再问吧)

第二步、fork spring源码(spring.io)到自己github上,地址:github.com/spring-proj…,我这里用的是Spring 的 5.2.X分支编译的。

第三步、代码拉下来之后,导入 IDEA,并切换分支为 5.2.X。

第四步、配置IDEA的gradle版本,file-settings--gradle,设置为 5.6.4版本的,6.3-rc-4有点高会报错(大家可以自行试一下各个版本的,不是绝对的)

第五步、修改配置文件

       1、修改gradle.properties文件:org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m 注释掉:kotlin-coroutines.gradle中的

//eclipse {
// project {
//    buildCommand "org.jetbrains.kotlin.ui.kotlinBuilder"
//    buildCommand "org.eclipse.jdt.core.javabuilder"
//    natures "org.jetbrains.kotlin.core.kotlinNature"
//    natures "org.eclipse.jdt.core.javanature"
//    linkedResource name: "kotlin_bin", type: "2", locationUri: "org.jetbrains.kotlin.core.filesystem:/" + project.name + "/kotlin_bin"
// }
// classpath {
//    containers "org.jetbrains.kotlin.core.KOTLIN_CONTAINER"
// }
//}

        2、注释掉:spring-aspects.gradle中的

//eclipse.project {
// natures += "org.eclipse.ajdt.ui.ajnature"
// buildCommands = [new org.gradle.plugins.ide.eclipse.model.BuildCommand("org.eclipse.ajdt.core.ajbuilder")]
//}

       3、修改build.gradle文件,配置为阿里的Maven仓库(为了下载依赖更快,减少编译时间)

repositories {
//       mavenCentral()
//       maven { url "https://repo.spring.io/libs-spring-framework-build" }
         maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
         maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
         //替换为阿里云仓库
         maven { url "https://maven.aliyun.com/repository/central" }
         //由于阿里云仓库 Could not find com.ibm.websphere:uow:6.0.2.17无法找到,添加springsource仓库
         maven { url "https://repo.springsource.org/plugins-release" }
      }

publishing {
      publications {
         mavenJava(MavenPublication) {
            // 注释掉
//          artifact docsZip
//          artifact schemaZip
//          artifact distZip
         }
      }
   }

        4、修改gradle-wrapper.properties,这里为本地的gradle,可以在services.gradle.org/distributio…上进行下载自己需要的版本。

# 本地的gradle的zip包地址
distributionUrl=file:///F:/gradle/gradle-5.6.4-all.zip

        5、Excluded spring-aspects 和 spring-tx 两个项目(也可以选择不Excluded,因为我只是为了编译更快,防止出现编译报错)

        6、添加 spring缺少jar包 里的2个jar包到 IDEA 仓库里

第六步、build spring-oxm模块,就在IDEA里直接build。

第七步、build整个spring模块。

如果有其他报错的话,可以看着解决,解决不掉的话,可以随时沟通。

如果下载 Jar 包总是下不来的话,尝试下翻墙吧,我第二次编译的时候,下载 Jar 包可能会因为网络波动问题导致下载不下来,翻墙之后可以下载。

我是进阶的球儿,大家一起2019年的爬坑历程。感觉分享很给力的话给个赞,谢谢!!!有问题也可以下方留言或者加本人QQ:313989006 进行沟通。