0
点赞
收藏
分享

微信扫一扫

spring5.3.x源码阅读环境搭建

颜娘娘的碎碎念 2022-04-17 阅读 58
java

一、下载spring源码

1.进入spring官网:https://spring.io/projects/spring-framework

2.点击右上角的github地址进入spring源码仓库:https://github.com/spring-projects/spring-framework

3.创建自己gitee仓库:

注意:

创建的时候,需要把仓库内容从github克隆:创建仓库的时候点击右上角的 “点击导入”

填写好克隆地址:https://github.com/spring-projects/spring-framework.git

直接点击创建,稍等几分钟等待克隆完毕。

4.在本地克隆自己仓库里的spring源码:

git clone -b 5.3.x https://gitee.com/ht-learnjava/spring-framework.git

源码下载完毕

二、安装gradle

spring源码时基于gradle构建的,为了更好的学习源码、最好是去学习一下gradle

1.在下载的源码中找到gradle-wrapper.properties文件,打开此文件看到如下内容:

所在位置:D:\spring-framework\gradle\wrapper\gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

此文件中的内容声明了官方所用的gradle版本:gradle-7.2-bin.zip

2.下载对应的grandle版本

下载地址:https://gradle.org/releases/

选择v7.2版本

3.在自己电脑中的某一位置解压下载的gradle,在解压目录中新建一个文件夹 . gradle,

也可以在其他位置新建,此文件夹是为gradle的jar包本地仓库位置,类似于maven的localRepository

4.在init.d文件夹下创建gradle初始化配置文件:init.gradle,在此配置文件中配置中央仓库和本地仓库,内容如下:

// project
allprojects{
    repositories {
        mavenLocal()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
        maven { url 'https://maven.aliyun.com/repository/google/' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
        maven { url 'https://jitpack.io/' }
    }
}
// plugin
settingsEvaluated { settings ->
    settings.pluginManagement {
        // Clear repositories collection
        repositories.clear()
        // Add my Artifactory mirror
        repositories {
            mavenLocal()
            maven {
                url 'https://maven.aliyun.com/repository/gradle-plugin/'
            }
        }
    }
}

5.配置gradle的系统环境变量

变量1:GRADLE_HOME(gradle安装路径变量)

变量1的值为:D:\software\gradle-7.2(自己解压的gradle目录)

变量2:GRADLE_USER_HOME(仓库目录)

变量2的值:D:\software\gradle-7.2.gradle(就是我们新建的。gradle目录)

path里加上gradle命令路径:%GRADLE_HOME%\bin

至此gradle安装完毕,继续下一步。

三、配置idea环境

1.使用idea打开spring源码,打开他就会下载jar包,我们此时环境还没有配好,需要停止build。

2.配置project Structure 中的jdk版本,最好使用jdk8

3.在setting-plugins中安装aspectj编译插件(spring-aop和spring-aspects项目需要此插件编译)

下载地址:https://www.eclipse.org/aspectj/downloads.php

下载最新版就行。

4.安装AspectJ,安装的前提是配置了jdk环境变量。

第一步:在aspectj下载的目录位置,打开cmd窗口,执行:java -jar aspectj-1.9.6.jar,此时会弹出jdk选择窗口,确认jdk路径是否正确

第二步:点击下一步选择aspectj安装目录:我的目录为 D:\software

5.在ide中配置aspectj编译环境:需要重启idea进行安装(重启的目的是为了让aspectj插件生效)。

第一步:

在setting中找到 Build、Execution、Deployment下的Compiler,在Compiler下找到 Java Compiler,选择Use compiler 的选项为ajc

在此面板中找到 Ajc Options:勾选Delegate to javac,目的是让aspectj只编译我们配置的aop和aspects项目使用aspectj编译,其他的使用javac编译。

第二步:在Project Structure中找到spring下面的spring-aop项目和spring-aspects项目,在这两个项目分别都添加aspect编译环境:右键项目—>add 选项中选择aspectj.

至此,编译环境设置好,还需继续配置其他内容

6.配置gradle仓库:在setting中找到Gradle.配置Grandle use home 为:D:/software/gradle-7.2/.gradle(自己新建的。gradle目录)

7.修改项目中的中央仓库配置:

第一步:在项目中找到buildSrc中的build.gradle文件,搜索 repositories,repositories的配置如下:

repositories {
	mavenLocal()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
        maven { url 'https://maven.aliyun.com/repository/google/' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
        maven { url 'https://jitpack.io/' }
	mavenCentral()
	gradlePluginPortal()
}

第二步:项目中的build.gradle和setting.gradle都做同样的配置:

repositories {
	mavenLocal()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
        maven { url 'https://maven.aliyun.com/repository/google/' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
        maven { url 'https://jitpack.io/' }
	mavenCentral()
	gradlePluginPortal()
}

四、编译工程:

1.点击idea右边的gradle,刷新gradle,等待依赖下载完毕。

2.编译spring-oxm子项目。执行spring—>spring-oxm—>task-other下的compileTestJava插件

3.编译整个工程,执行spring—>Tasks—>build下的build插件

等待几分钟编译完毕即可

至此,spring源码编译完毕,继续奋斗吧!
欢迎大家给我留言沟通,共同进步。

举报

相关推荐

0 条评论