一、环境准备

1. jdk1.8.1

做java开发的这个应该能自己找到

2.gradle-4.9 https://services.gradle.org/distributions/

没用过gradle的同学可以将其理解为类似于maven的包管理工具,这里下载gradle-4.9-bin.zip,解压到本地,配置环境变量(GRADLE_HOME=D:/dev/gradle[文件解压路径].,PATH变量新增”%GRADLE_HOME%/bin;“)

打开命令行执行一下gradle -v出现如下提示即成功

3.spring-framework源码包 https://github.com/spring-projects/spring-framework/tree/5.0.x

注意:这里对版本不做解释,只是我目前正在使用的可兼容的版本,spring-framework的源码包有需要最新的可自行切换分支即可。

对于下载或者clone源码比较慢的同学,这里可以通过码云做一下过渡,具体操作如下:

新建仓库-->导入已有仓库-->将github提供的clone地址拷贝过来,导入即可(这里一定要选择https,用ssh的地址是克隆不了的)-->大概2,3分钟即可克隆完成,再从码云下载就会快很多了。

二、项目导入

1.如果是clone的方式,先切到对应分支上;

2.如果是下载zip包的方式,先将压缩包解压到对应的代码目录即可。

发现根目录下有两个文件,如下:

本次使用的编译器是idea,那我们就只看import-into-idea.md文件

根据md文档中给出的步骤

1.预编译spring-oxm通过命令./gradlew :spring-oxm:compileTestJava(注意:给出的命令是Linux环境下的,Windows在执行代码根目录下执行gradlew :spring-oxm:compileTestJava)

我这里由于已经下载好了一次,这里保留一张执行成功的状态。

2.导入idea,可以直接import project->选择源码路径->选择gradle点击next->勾选Use auto-import,且配置一下gradle的安装目录,点击next即可

可以看到上图中最下面一行配置了Gradle VM options,这里也是根据官方提供的md文档中knows issues中所描述的,概括一下就是:如果想通过idea去运行测试案例的话,可以通过配置参数避免内存不足的情况。

接着等待gradle在中心仓库下载jar包,这里给网速比较慢的同学提供一个提速的方法,都知道maven从中心仓库下载jar包的时候速度是比较慢的,gradle也一样,所以建议使用阿里云的仓库去下载,只需要修改build.gradle文件中的下载地址如下:

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

等待下载完成。

最后新建一个自己的module如下[我这里新建了一个spring-peanut],把需要调试的项目包在build.gradle中的dependencies下引入即可。注意:新建module的时候是选gradle而非maven

最后就可以写一个自己的测试入口类去debug源码了。

spring源码(1)---idea基础环境搭建的更多相关文章

  1. spring源码学习之路---环境搭建(一)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 最近已经开始了spring源 ...

  2. Dubbo 源码分析系列之一环境搭建

    环境搭建的步骤有哪些 依赖外部的环境 使用的开发工具 源码的拉取 结构大致介绍 1 依赖的外部环境 安装JDK 安装Git 安装maven 这边我们就不介绍怎么安装这些外部环境了,大家自行从安装这些外 ...

  3. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  4. mybatis源码分析之01环境搭建

    直接使用maven搭建一个mybatis的运行环境 1. pom.xml <?xml version="1.0" encoding="UTF-8"?> ...

  5. bigdata_spark_源码修改_本地环境搭建_eclise

    Eclipse 下开发调试环境的配置该小节中使用的各项工具分别为:mac (Windows 7)+Eclipse Java EE 4.4.2+Scala 2.10.4+Sbt 0.13.8+Maven ...

  6. 《Netty实战》源码运行及本地环境搭建

     1.源码路径: GitHub - zzzvvvxxxd/netty-in-action-cn: Netty In Action 中文版 ,中文唯一正版<Netty实战>的代码清单 下载后 ...

  7. [ethereum源码分析](1) dubug环境搭建

    前言 因为最近云小哥哥换了一份工作,新公司比较忙,所以一直没有更新新的博客.云小哥哥新的公司是做区块链的,最近在学习区块链相关的东西(也算是乘坐上了区块链这艘大船).本博客是记录我搭建ethereum ...

  8. Spring源码解析之基础应用(二)

    方法注入 在spring容器中,大部分bean的作用域(scope)是单例(singleton)的,少部分bean的作用域是原型(prototype),如果一个bean的作用域是原型,我们A bean ...

  9. Spring源码解析之基础应用(三)

    组合Java配置 在XML中,我们可以使用<import/>标签,在一个XML文件中引入另一个XML文件,在Java类中,我们同样可以在一个配置类中用@Import引入另一个配置类,被引入 ...

随机推荐

  1. MySQL数据库备份之mysqldump

    创建用户备份的用户 MariaDB [mysql]> create user 'backdata'@'localhost' identified by 'test@123456';Query O ...

  2. Linux -- PHP-FPM的源码解析和模型

    1.进程管理模式 PHP-FPM由1个master进程和N个worker进程组成.其中,Worker进程由master进程fork而来. PHP-FPM有3种worker进程管理模式. 1. Stat ...

  3. linux常用的命令和工具

    screen     管理会话工具 与之相似的工具还有tmux # screen // 进入一个回话 .还可以给会话取名 screen -S modify_screen #vim screen.txt ...

  4. 页面被iframe与无刷新更换url方法

    页面被iframe问题解决方法 if (window.top.location !== window.self.location) { const data = JSON.stringify({ if ...

  5. mysl创建用户+授权+增、删、改查

    1.mysql的root用户无法给普通用户授权问题处理 update mysql.user set Grant_priv='Y' where User='root' and Host='%': flu ...

  6. iOS推送证书上传(转)

    iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Developm ...

  7. 【c# 学习笔记】使用virtual和override关键字实现方法重写

    只有基类成员声明为virtual或abstract时,才能被派生类重写:而如果子类想改变虚方法的实现行为,则必须使用override关键字. public class Animal { private ...

  8. MongoDB 谨防索引seek的效率问题(转)

    目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门:http://www.mongoing.com/archives/27310 背景 ...

  9. Pychar调用远程编译器的环境配置

    版本:2019最新专业版

  10. Vue 开发技巧或者说Vue知识点梳理(转,自个学习)

    Vue 组件通讯 ——常见使用场景可以分为三类: 父子通信: 父向子传递数据是通过 props,子向父是通过 events($emit):通过父链 / 子链也可以通信($parent / $child ...