当前位置: 首页 > news >正文

MAC版Gradle构建Spring5.X源码阅读环境

前言:

三年前鄙人有幸在现已几乎报废的Window的DELL中搭建过Spring源码环境,今天,Mac版的搭建,来了。

本篇文章环境搭建:Spring5.2.1 + Gradle5.6.3-all + jdk8 + IDEA2022.3版本

文章目录

    • 1、Spring源码下载
    • 2、Gradle下载
    • 3、配置Gradle环境变量
    • 4、配置Gradle镜像等
    • 5、编译Spring源码
    • 6、新建自己的模块用来学习Debug源码
    • 7、编写Demo代码运行测试
    • 8、IDEA运行程序加快运行时间指南

1、Spring源码下载

官方下载spring源码
https://github.com/spring-projects/spring-framework
记得下载RELEASE版本!!!
在这里插入图片描述

2、Gradle下载

gradle下载地址
https://services.gradle.org/distributions/
在这里插入图片描述

3、配置Gradle环境变量

终端运行

open -e ~/.bash_profile

内容如下

GRADLE_HOME=/Users/mr.guo/gradle-5.6.3
export GRADLE_HOME
export PATH=${PATH}:/Users/mr.guo/gradle-5.6.3/bin

刷新环境变量

source ~/.bash_profile 

执行

 gradle -version

如下则成功
在这里插入图片描述

4、配置Gradle镜像等

在这里插入图片描述

打开build.gradle文件(这个就相当于是maven的pom文件),在文件头部加上如下两个地方

在这里插入图片描述

buildscript {
	repositories {
		maven { url "https://repo.spring.io/plugins-release" }
	}
}
repositories {
			//新增以下2个阿里云镜像
			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" } // Reactor
			//新增spring插件库
			maven { url "https://repo.spring.io/plugins-release" }
}

以上完成后刷新开始构建,等待一定时间后,如果构建失败重新refresh几次就行了,一般就是包下载超时之类的错误。

以上只是Gradle下载依赖,如下才是真正的编译源码

5、编译Spring源码

在这里插入图片描述
根据官方的import-into-idea.md文档可以得知,我们需要如下的操作
在这里插入图片描述
经过一段时间编译,每个人电脑的性能不一样,所需时间也不一样。

编译过程中会出现好几次失败,非常正常,多刷新几次编译,不排除有别的异常确实需要自行goole解决。

6、新建自己的模块用来学习Debug源码

在这里插入图片描述
在这里插入图片描述

然后,需要手工添加spring-context,spring-beans,spring-core,spring-aop这4个核心模块

在这里插入图片描述

7、编写Demo代码运行测试

在这里插入图片描述

package demo;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl {
	public void sayHiSpring(){
		System.out.println("Hello Spring!");
	}
}

package demo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("demo")
public class MainStat {

	public static void main(String[] args) {
		ApplicationContext context=new AnnotationConfigApplicationContext(MainStat.class);
		UserServiceImpl bean = context.getBean(UserServiceImpl.class);
		bean.sayHiSpring();
	}

}

完成如下:

在这里插入图片描述
end…

8、IDEA运行程序加快运行时间指南

如果是运行会打印很多Task,是因为默认是Gradle运行的,
在这里插入图片描述
需要如下设置:
在这里插入图片描述

相关文章:

  • 掌握 BERT:自然语言处理 (NLP) 从初级到高级的综合指南(2)
  • 软件测试工具有什么作用?有哪些好用的测试工具推荐?
  • ARM-day9作业
  • 通过webpack创建并打包js库到npm仓库
  • 编程前置:句子联想游戏
  • yolov5加关键点回归
  • 适合自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》
  • c++视觉图像----扩充边界
  • dockers --cap-add 哪些值可以设置
  • 【逆向】导出表:1.编写程序打印所有的导出表信息 2.编写GetFunctionAddrByName 3.编写GetFunctionAddrByOrdinal
  • nextjs构建服务端渲染,同时使用Material UI进行项目配置
  • SQL基础
  • 【Debian】报错:su: Authentication failure
  • 邮政编码,格式校验:@ZipCode(自定义注解)
  • WaitGroup原理分析
  • 33. 搜索旋转排序数组
  • 使用 Eziriz .NET Reactor 对c#程序加密
  • Android 使用 registerForActivityResult() 打开系统相册或相机获取图像
  • Matlab之数组、包含分配给类别的值函数categorical
  • 虹科方案 | 虹科ATTO加速虚拟存储管理
  • 乘客被地铁厕所门砸伤,南京地铁:突然坏的,已和乘客沟通处理
  • 解放军仪仗分队参加白俄罗斯纪念苏联伟大卫国战争胜利80周年阅兵活动
  • 七大交响乐团在沪“神仙斗法”,时代交响奏出何等时代新声
  • 铲屎官花5万带猫狗旅行,宠旅生意有多赚?
  • 习近平向“和平薪火 时代新章——纪念中国人民抗日战争和苏联伟大卫国战争胜利80周年中俄人文交流活动”致贺信
  • 再有20余篇论文出现“妇科男患者”“前列腺女患者”,如何破除“水论文”灰产链?