史上最全的idea编译Spring5源码
idea编译Spring5.2.x源码
踩了一天的坑,请大家必须用5.2.x的版本,因为高版本 5.3 对jdk有要求,jdk8已经不行了,需求13。而且5.2.x想编译成功得注意 gradle 的版本,如果版本跟源码的要求不一致,则会编译失败。后面会一一介绍。
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、gradle下载准备
gradle下载地址:https://services.gradle.org/distributions/ 建议下载带 all 的
我这里用的是gradle.5.6.4 对应spring5.2.x 的要求,看下面这个文件。
这里介绍下 distributionUrl : 一旦这个项目引入idea,idea会自动根据这个路径去下载gradle,则就是官方的默认配置,这里可以用本地路径替代
==distributionBase = GRADLE_USER_HOME gradle的安装路径 ==
二、gradle安装
1.gradle直接解压
== 此时有个 注意点,就是把下载的那个zip解压后直接放入到 gradle-5.6.4-all 文件夹中(为了后续引入方便,就是上面讲的distributionUrl 绝对路径引入)==
2.配置环境变量
== 新建GRADLE_HOME后,path中增加%GRADLE_HOME%/bin;即可==
cmd 查看 gradle 是否配置成功 输入 gradle-v 如下则代表成功
3. 配置国内镜像
进入 Gradl e安装目录,在 init.d 目录下新建 init.gradle 文件,并添加以下内容:
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
def url = repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && (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 5.2.x源码 并解压,用idea open打开 ,打开前有个注意事项,大家先别急,先往下看。往下看,往下看。我说了三遍。
spring5.2.x 下载地址 :https://github.com/spring-projects/spring-framework/tree/5.2.x 直接下载 zip 本地解压就好
== 此时刚打开项目,idea会根据项目配置自动去下载 gradle相关配置,一旦看到下面窗口 点击 Cancel,然后 idea配置我们本地 gradle即可==
idea 点击settings配置
修改 Spring-Framework 目录下 gradle/wrapper/gradle-wrapper.properties 文件; 将distributionUrl 属性进行修改,将 distributionUrl 属性对应的网络地址 修改为本地的地址,最要也把gradle-6.7.1-bin.zip 先下载到本地,这一步不做,恶心的gradle 每次build 的时候都会去网络上下载一次,也是很慢,
在系统的环境变量上添加 GRADLE_USER_HOME 参数 和JAVA_HOME一样设置,这里没有设置gradle 下载的资源都会放在 c:\User\当前用户.gradle 目录下,C盘大的话可以不用设置
distributionUrl=file:///E:/gradle-5.6.4-all/gradle-5.6.4-all.zip(这个就是上面提到的下载后的zip也放到解压目录中,跟这个配置文件对应)
添加项目 gradle 镜像
在根目录当前build.gradle 搜索 repositories
搜索 repositories
添加如下
repositories {
maven { url "https://maven.aliyun.com/nexus/content/groups/public" }
maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter" }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
maven { url "https://repo.spring.io/milestone" }
maven { url "https://repo.spring.io/plugins-release" }
}
在buildSrc 目录下 build.gradle增加配置
maven { url "https://maven.aliyun.com/nexus/content/groups/public" }
maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter" }
配置 project sdk
更新下载仓库依赖
等待中,可以抽根烟喽。漫长的等待
我用了15分钟。。。。
等待idea建立索引
1 编译 spring-oxm 选择 complierTestjava
完成
2 编译 spring-core 选择 complierTestjava
完成
3 执行 根目录 build方法
编译完成
测试
1 新建moudle 选择 gradle
2.点击 finish 后,会自动帮忙我们创建模块
3. 修改 build.gradle文件 ,添加依赖,并重新import
//添加完要构建下,否则无法在代码中引入相关功能
compile(project(":spring-context"))
compile(project(":spring-beans"))
compile(project(":spring-core"))
compile(project(":spring-aop"))
总结
一切好不容易总算圆满完成,感谢大家的一键三连,转发收藏点赞。如有问题,请留言…
本文地址:https://blog.csdn.net/hu15081398237/article/details/110913248
上一篇: ffmpeg源码分析及mp4文件解析
下一篇: python夯实基础日记-函数详解