idea编译spring5.2.8源码

本文介绍了如何在Windows环境下安装Kotlin和Gradle,然后详细讲解了如何下载并配置Spring源码,通过修改build.gradle和settings.gradle文件,替换默认的Maven仓库为阿里云仓库,以解决国内访问问题。接着,指导读者如何编译spring-oxm模块,并在IDEA中导入源码进行进一步的开发工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.安装Kotlin

2.Gradle安装

3.Spring源码下载

4.编译spring-oxm模块

5.导入idea


1.安装Kotlin

2.Gradle安装

  1. 下载Gradle,我这里下载的是7.2版本
  2. 添加系统变量
  3. 编辑path,添加%GRADLE_HOME%\bin
  4. 打开cmd,运行gradle -v,出现下图,表示安装成功

      5. 在C:\Users\.gradle目录下创建文件init.gradle,内容如下   

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

3.Spring源码下载

 1. 使用git下载spring源码:git clone --branch v5.2.8.RELEASE https://gitee.com/gumj/spring-framework.git

2.修改spring-framework目录下的build.gradle文件:

a.第一行加入

buildscript {
   repositories {
      maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
   }
   dependencies {
      classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.21.RELEASE'
   }
}

b.在plugins后面加入

allprojects {
   repositories {
      maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
      maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
   }
}

c.删除 id 'io.spring.gradle-enterprise-conventions' version '0.0.2'

d.修改repositories内容为

repositories {
   mavenCentral()
   maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
   maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
   maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
   maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
   maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

3.修改spring-framework文件夹下的settings.gradle文件

        a.将第4行改为 maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}

4.编译spring-oxm模块

        a.在spring-framework文件夹下执行命令 gradlew :spring-oxm:compileTestJava

5.导入idea

        1.idea设置gradle

        

2. 导入源码

        

        

        

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值