当前位置: 首页 > 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运行的,
在这里插入图片描述
需要如下设置:
在这里插入图片描述

http://www.lryc.cn/news/189809.html

相关文章:

  • Linux 常用通配符
  • Python皮卡丘
  • 【数据结构与算法】三种简单排序算法,包括冒泡排序、选择排序、插入排序算法
  • 视频太大怎么压缩变小?超过1G的视频这样压缩
  • Edge 无法登录/同步问题【一招搞定】
  • ESP32-S3上手开发
  • UE4和C++ 开发-编程基础记录(UE4+代码基础知识)
  • 【Unity】【VR】如何让Distance Grab抓取物品时限制物品的Rotation
  • 为什么3ds max渲染效果图有噪点?点进来,CG Magic告诉您!
  • Element UI怎么安装呢?
  • redis批量删除命令
  • kubernetes环境 搭建
  • TCP习题总结
  • 华为发布LampSite X室内数字化创新解决方案,释放数字世界无限潜能
  • 麒麟操作系统设置QT程序开机自启动有效方法
  • Python数组删除元素pop与remove对比
  • 【Java 进阶篇】Java Web 编写注册页面案例
  • 7.5 SpringBoot 拦截器Interceptor实战 统一角色权限校验
  • 【原创】ubuntu18修改IP地址
  • Vue-2.4sync修饰符
  • 【RealTek sdk-3.4.14b】RTL8197FH-VG+RTL8367+RTL8812F WiFi to LAN 和WiFi to WAN吞吐量
  • vue 本地上传Excel文件并读取内容
  • 京东商品品牌数据采集接口,京东商品详情数据接口,京东API接口
  • 电脑提示Explorer.exe系统错误该怎么办?
  • Java架构师部署架构设计
  • ubuntu 22.04.3 live server图文安装流程
  • 基于SVM+TensorFlow+Django的酒店评论打分智能推荐系统——机器学习算法应用(含python工程源码)+数据集+模型(一)
  • Elasticsearch 分片内部原理—近实时搜索、持久化变更
  • 华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)
  • 玩转ChatGPT:图像识别(vol. 1)