一、环境准备

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. java匿名内部类new(){}

    匿名内部类:顾名思义,没有名字的内部类.表面上看起来它们似乎有名字,实际那不是它们的名字.当程序中使用匿名内部类时,在定义匿名内部类的地方往往直接创建该类的一个对象.匿名内部类的声明格式如下:new ...

  2. keras检查点的保存

    来自 keras的文档:https://keras.io/callbacks/#callback ModelCheckpoint keras.callbacks.ModelCheckpoint(fil ...

  3. 总结Lock和synchronized的区别

    1. Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,Lock是代码层面的实现. 2. Lock可以选择性的获取锁,如果一段时间获取不到, ...

  4. SM30维护视图屏蔽按钮

    标准维护视图  GUI状态  ESLG 编辑按钮 AEND 达到效果 DATA: l_act TYPE char1, l_name TYPE dd02v-tabname. DATA: lt_vimex ...

  5. ABAP ole操作1

    转自:https://www.cnblogs.com/jxzhu/p/8708686.html OLE整理: 1.定义,分别对应EXCEL,workbook(工作簿),sheet(页),单元格 DAT ...

  6. pytorch0.4.1安装

    pytorch官网:https://pytorch.org/ 这里安装pytorch0.4.1版本(最新版本为1.3.0系列,但是在跑github上的一些项目时会不断地报“ UseWarinig:Le ...

  7. Node中使用MySQL报错:TypeError: Cannot read property 'query' of undefined

    Node中使用MySQL报错: TypeError: Cannot read property 'query' of undefined at /Users/sipeng/Desktop/彭思/201 ...

  8. iOS-NSdata 与 NSString,Byte数组,UIImage 的相互转换

    IOS---NSdata 与 NSString,Byte数组,UIImage 的相互转换 1. NSData 与 NSString NSData-> NSString NSString *aSt ...

  9. 如何去除PATH里的重复项并排序

    注意sed的用法,linux和Mac os不同,linux是Gnu的,Mac是BSD的 PATH排序去掉重复内容 mac和linux的换行符替换方法不一样,如下是Mac下的操作 export PATH ...

  10. 添加zookeeper到服务,并设置开机启动

    一.先安装jdk jdk 路径为/usr/local/java 二.再安装zookeeper zk路径为/use/local/zookeeper 三.创建zookeeper脚本 cd /etc/rc. ...