一、环境准备

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. 简易的CRM系统案例之SpringMVC+JSP+MySQL+myBatis框架版本

    主要对上一版DAO框架的替换hibernate变成myBatis 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本 src/mybatis.xml <?x ...

  2. jumperserver的简单使用

      用户管理:这里的用户说的是登录跳板机的账号,通过这个账号可以登录跳板机 资产管理: 资产管理/管理用户:有权限对最终的目标服务器进行管理的用户,可以单独创建,也可以直接使用root用户 资产管理/ ...

  3. Greenwich.SR2版本的Spring Cloud Zipkin实例

    调用链跟踪是微服务架构中的基础能力,Spring Cloud Zipkin+Sleuth为我们提供了该能力.首先我们先建立Zipkin服务端,它需要集成Eureka,用于发现服务提供方和消费方,进行数 ...

  4. 在Springmvc普通类@Autowired注入request为null解决方法

    在Springmvc普通类@Autowired注入request为null解决方法   在类中加入以下注入request对象的代码,运行时发现request为null,注入失败.在@Controlle ...

  5. maven项目如何从私服nexus中下载依赖包

    maven项目如何从私服nexus中下载依赖包   解决方法: 1.打开maven的config目录中settings.xml文件 2.在<profile></profiles> ...

  6. 转载【oracle切换表空间】

    http://blog.itpub.net/28939273/viewspace-1061476/ [root@yoon ~]# more /etc/oracle-releaseOracle Linu ...

  7. 安装CCS提示错误Windows8.1-KB2999226-x64安装提示 此更新不适用你的计算机

    问题如图所示: 解决方案: 放在D:\目录下 windows键+X  选择  命令提示符(管理员)  一定要是管理员 打开cmd 分别执行下面两句.红色部分就是自己的更新程序了.其他安装同理 例如Wi ...

  8. Memcached集群实现及原理介绍

    一.Memcached集群介绍 1.自身通过算法保证数据唯一性2.集群形式对用户和Memcached都是透明的3.Memcached的集群是通过客户端实现的4.Memcached服务端相互不认识 二. ...

  9. java根据模板生成pdf

    原文链接:https://www.cnblogs.com/wangpeng00700/p/8418594.html 在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支 ...

  10. [转帖]Linux 中的零拷贝技术,第 2 部分

    Linux 中的零拷贝技术,第 2 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy2/index.html   Linux 中 ...