前言

一、Gradle安装前准备工作?

二、下载安装

1.下载Gradle

2.部署

3.配置环境变量​​​​​​​

三、Mac下编译、构建spring源码环境

版本选择

开始构建

下载 spring-framework 源码

解压 spring-framework 压缩包

修改配置

将源码导入 idea

验证

在 spring-framework 项目下创建一个自己的项目

编写测试类,运行,如下图所示

补充


前言

Gradle和Maven都是比较优秀的项目自动化构建工具,但Gradle相对来说引入了groovy语法导致配置文件配置简易且简介了许多,大家按照自己的习惯随便选一个就好,工具就是为人服务的,不要因为一个工具影响了你的心情。

一、Gradle安装前准备工作?

由于Gradle版本和jdk版本是有一定的依赖关系的,版本不匹配会导致报错,因此要先从Gradle官网确认Gradle版本对应的gdk版本。最新的Gradle版本需要对应jdk1.8以上。

二、下载安装

1.下载Gradle

Gradle下载地址: Gradle | Releases

选择自己想要的版本进行下载即可,本文选择下载v6.9.2,选择binary-only 下载即可。

2.部署

打开终端工具,创建gradle文件夹:

~ % cd opt
~ % mkdir gradle

之后将下载好的Gradle解压到此文件夹中;

3.配置环境变量

~ % vi .bash_profile
export GRADLE_HOME=/Users/administer/opt/gradle/gradle-6.9.2
export PATH=$PATH:$GRADLE_HOME/bin//修改后, 按[Esc], 命令":wq"保存退出, 并在终端使用如下命令使配置生效:
source ~/.bash_profile

配置好后查看是否配置成功:

~ % gradle -vWelcome to Gradle 6.9.2!Here are the highlights of this release:- This is a small backport release.- Java 16 can be used to compile when used with Java toolchains- Dynamic versions can be used within plugin declarations- Native support for Apple Silicon processorsFor more details see https://docs.gradle.org/6.9.2/release-notes.html------------------------------------------------------------
Gradle 6.9.2
------------------------------------------------------------Build time:   2021-12-21 20:18:38 UTC
Revision:     5d94aa68c0fdbe443838bb977080e3b9f273e889Kotlin:       1.4.20
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          1.8.0_291 (Oracle Corporation 25.291-b10)
OS:           Mac OS X 10.16 x86_64

总结:

其实此类问题在网上的答案非常多,作为一个有经验的程序员可能直接去看官方文档就好了,但作为一个新手来说,可能此类文章会对他们提供很多帮助,但要记住,作为一个程序员,要学会提高自己解决问题的能力,不能张口就问,安装过程中一旦遇到问题,要学会利用搜索引擎哦。

三、Mac下编译、构建spring源码环境

版本选择(一定要对照版本)

  • JDK11
  • gradle 6.4.1
  • Spring-framework 5.3.0
  • Intellij IDEA 2021.1

下载地址

JDK:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

gradle:https://gradle.org/releases/

Spring-framework:https://github.com/spring-projects/spring-framework/tree/v5.3.0

我知道因为不可描述原因,大家下载gradle和spring源码可能比较耗时间,所以我把下载好的放在网盘了,需要的可以自己下载: Spring5源码直通车 提取码:srbm

开始构建

下载 spring-framework 源码

解压 spring-framework 压缩包

这是解压之后的压缩包,当前只需要关注这四个文件

  • build.gradle:类似于 maven 的 pom.xml
  • settings.gradle:用于指示Gradle在构建应用时应将哪些模块包含在内;
  • gradle.properties:主要是gradle 的一些属性配置,例如后台进程内存大小;
  • import-into-idea.md:官方提供的spring源码导入idea的步骤和注意说明

1、import-into-idea.md:这是官方提供的spring源码导入idea的步骤和注意说明,我已经翻译过了,可以移步:IDEA导入Spring源码调试必看

2. 修改配置

  • 修改 settings.gradle 文件,添加上阿里云的 maven 仓库
maven { url "https://maven.aliyun.com/repository/public" }

注意:编译的时候这里可能会报错id "io.spring.gradle-enterprise-conventions" version "0.0.2" ,可以先注释掉

  • 修改gradle.properties文件(这里可以不用改,也可以编译成功)
version=5.3.0
## 设置此参数主要是编译下载包会占用大量的内存,可能会内存溢出
org.gradle.jvmargs=-Xmx2048M
## 开启 Gradle 缓存
org.gradle.caching=true
## 开启并行编译
org.gradle.parallel=true
## 启用新的孵化模式
org.gradle.configureondemand=true
## 开启守护进程 通过开启守护进程,下一次构建的时候,将会连接这个守护进程进行构建,而不是重新fork一个gradle构建进程
org.gradle.daemon=truekotlin.stdlib.default.dependency=false
  • 修改build.gradle文件,加上使用阿里云仓库

maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

准备构建

预编译spring-oxm,根据import-into-idea.md要求,在 spring-framework-5.3.0目录下执行预编译,我们需要先预编译spring-oxm和spring-core,使用命令./gradlew :spring-oxm:compileTestJava,构建速度和截图如下:

./gradlew :spring-oxm:compileTestJava

预编译spring-core,使用命令./gradlew :spring-core:compileTestJava,如下图所示:

IDEA导入Spring源码

提示成功之后就可以导入 idea 了​​​​​​​

选择spring-framework,点击 open,idea 会自动 build,这时候就可以在 idea 中配置我们本地环境的 gradle

配置 gradle,选择IntelliJ IDEA-->Preferences-->build-->gradle

提示这个就表示构建成功了

验证

在 spring-framework 项目下创建一个自己的项目

## 修改 build.gradle文件
compile(project(":spring-context"))

编写测试类,运行,如下图所示

package com.nimo.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;@Configuration
@ComponentScan("com.nimo")
public class HelloConfig {
}
package com.nimo.dao;import org.springframework.stereotype.Repository;@Repository
public class HelloSpring {public void hello(){System.out.println("---------------------------------");System.out.println("Hello spring-framework");System.out.println("---------------------------------");}
}

补充

参考资料:https://www.cnblogs.com/mazhichu/p/13163979.html

如果编译时有报错,大多数情况都和软件版本有关

Mac安装Gradle, 编译Spring相关推荐

  1. gradle编译spring源码

    文章目录 一.gradle的下载 二.Gradle配置 三.gradle和maven区别 四.下载编译spring源码 1.下载spring源码 2.修改settings.gradle 3.修改gra ...

  2. mac m1下编译spring框架

    首先安装好jdk8以上的版本,下载azul的,已经适配m1: 去官网上下载gradle压缩包.zip即可: https://gradle.org/releases/ 我这里下的最新版7.2(二进制bi ...

  3. mac安装Gradle

    最近在整理公司的项目,发现Gradle配置文件由于久未维护导致构建失败,因此来记录一下Gradle的安装步骤. 文章目录 目录 二.下载安装 1.下载Gradle 2.部署 3.配置环境变量 总结 前 ...

  4. centos6.5下安装gradle编译环境

    为什么80%的码农都做不了架构师?>>>    现在用gradle替代maven的项目越来越多,下面就描述一下如何在centos服务器环境下安装配置gradle环境. 1.在http ...

  5. Mac 安装 Gradle

    1.从官网下载发布包,https://gradle.org/next-steps/?version=7.5.1&format=bin, 本文基于版本7.5.1 2.下载保存到 Download ...

  6. Mac 环境安装gradle

    mac安装gradle有两种方式,一种是brew安装,一种安装包 1.brew 安装 brew install gradle 验证一下 即可 brew -v 2.安装包安装 直接到官网下载:https ...

  7. mac环境下安装Gradle及配置

    前言 ​ 从Gradle官网的安装指导可以知道, (最新的gradle版本)要求jdk的版本是1.8, 或者更高. Prerequisites Gradle runs on all major ope ...

  8. Mac安装Jadx反编译工具

    Mac安装Jadx反编译工具 准备工作 Mac一台 步骤 01 clone 仓库 编译 mkdir jadx #创建 jadx目录 git clone https://github.com/skylo ...

  9. 【转载】Mac安装 Java 反编译工具 JD-GUI

    一.安装 下载地址:https://github.com/java-decompiler/jd-gui/releases 选择对应平台的资源进行下载,这里可选择:jd-gui-osx-1.6.6.ta ...

最新文章

  1. 第十六届全国大学智能车竞赛华南赛区成绩汇总
  2. ARM Linux内核Input输入子系统浅解
  3. maven私服-详细部署搭建笔记
  4. PhpStorm+Xdebug断点调试环境搭建
  5. centos akonadi mysql,MySQL数据库之在CentOS7上安装MySQL5.7
  6. centos7.3下apache搭建django[未成功]
  7. 量化投资交易 vn.py
  8. python+selenium获取cookie session_selenium获取cookie及设置cookie
  9. locustfile中的User类和HttpUser类
  10. C语言课程设计学生籍贯信息,C语言课程设计 学生籍贯信息记录簿设计.doc
  11. 软件项目管理 2.1.项目立项
  12. EJB-02:EJB开发流程
  13. Net(C#)高级程序员面试题
  14. V5Shop网店系统更新 版本V8.30.0606 RC1
  15. dtu连接mysql_Azure SQL 数据库中的DTU和eDTU是什么
  16. Otsu算法原理与python实现
  17. Python中sep是函数吗?该怎么使用?
  18. 第八章第五题(代数:两个矩阵相加)(Algebra: adding two matrices)
  19. PS把图片切成九宫格
  20. python快递分拣_快递背后的黑科技,你造吗?

热门文章

  1. 去年卖出4000万台后,荣耀发布了搭载麒麟650的畅玩5C
  2. 想吃又不敢吃,零食控该怎样做才能兼顾?
  3. Python编程解决“今天午饭吃什么?”
  4. 重磅!IBM 中国研究院全面关闭
  5. 开启终端小助手Go2Shell
  6. 顶刊TIP 2022|武汉大学遥感国重团队提出二元变化引导的高光谱遥感多类变化检测网络BCG-Net
  7. 【git】fatal: in unpopulated submodule
  8. 快速搭建一个Web AR应用
  9. 面试王者的出装方案推荐——软技能篇(文末含岗位内推)
  10. 【PCL自学:Segmentation1】基于PCL的点云分割:平面模型分割