Mac下  Spring5.2.x 源码编译

Mac下  Spring5.2.x 源码编译

 

1、使用git下载spring源码

git clone https://github.com/spring-projects/spring-framework.git

2、安装gradle

参考: Mac OS下安装Gradle

3、配置gradle全局下载仓库,为了国内加速下载依赖

对所有项目生效,在~/.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')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                        remove repo
                    }
                    if (url.startsWith('https://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
        }
    }
}

4、首先切换到spring目录,并将分支切换到我们想编译的5.2.x

$ cd spring-framework/

输入命令,进行编译:

./gradlew build

如下图,本人编译报错如下: 

解决方案:若gradle无法下载可手动下载,放置gradle/wrapper下,然后修改distributionUrl。如图

重新执行

./gradlew build

耐心等待。。。 出现绿色字体BUILD SUCCESSFUL就代表编译成功

 

5、将spring源码导入idea

但是在导入idea之前,还有最后一步:预编译spring-oxm 与 ./gradlew :spring-oxm:compileTestJava

输入命令进行预编译:

./gradlew :spring-oxm:compileTestJava

 

然后导入到idea中:(File -> New -> Project from Existing Sources -> 找到你的spring文件夹 -> 选择 build.gradle)

在耐心的等待后,我们就可以编码了。

若有需要额外下载jar包,我们可以修改 build.gradle 文件使用阿里云仓库进行加速:

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

当出现编译成功且左边的项目变为加粗黑体,就代表我们编译成功了!

此时就可以愉快的撸码了。

 

6、上代码

右键new一个moudle,选择gradle。

在build.gradle中引入spring-context依赖:

dependencies {
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

 

7、代码测试

由上图可以看到,执行通过。

注:每次都需要编译全文,很麻烦,可以通过修改配置更改编译方式

 

部分内容参考:

      spring源码编译

      深度解析Spring源码(一)Spring5源码编译(spring5.2.x版本)

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值