整体流程:

  1. 本地环境准备
  2. 找到源码地址并拉取到本地
  3. 根据IDE工具查看源码中提供的不同的安装说明并具体操作
  4. 构建会出现的的错误及解决

一.本地环境准备

  spring-framework 源码使用gradle构建的而不是maven,因此对于只熟悉maven的小伙伴儿们可能会多一个环节,不过不用怕,也很简单

  gradle官网https://services.gradle.org/distributions/上下载对应的版本

  

下载后解压并复制根目录的路径

在电脑环境变量中加入

GRADLE_HOME是上述复制的根路径

GRADLE_USER_HOME配置的是以前的maven仓库,变量名不能变动,gradle仓库可以复用maven仓库,这还是挺好的哈!

别忘了还要在path中配置一下

保存确定后cmd中查看一下是否安装成功

另一个IDE工具我用的是idea

二.找到源码地址并拉取到本地

  上github上找到spring-framework项目并获取下载地址

三.根据IDE工具查看源码中提供的不同的安装说明并具体操作

  源码下载后查看对应IDE工具的安装说明

打开import-into-idea.md

步骤中重点提一下第一步,在导入idea中要提前编译一下,不然会报错

进入源码的根目录中

进入dos命令窗口输入gradlew :spring-oxm:compileTestJava    在这里我犯了次傻,直接复制粘贴了./gradlew :spring-oxm:compileTestJava

这对于我首次用gradle的我真的是太残忍了

后面想了想,我本地是window系统,“./”似乎是类似shell脚本中的执行exe文件,于是我去掉了“./”,成功了,哈哈!

一段时间后提示成功

idea中从文件中new一个项目,注意选中到gradle.build,我之前只选到根目录似乎出现了问题哈

四.构建会出现的的错误及解决

  导入成功后构建过程中出现了好多次报错问题,也由于怀疑自己,重新下载了几次源码,网上查的问题是idea版本和gradle需要对应,这种答案似乎都不准确

  我本地是idea2018.1和gradle6.4.1,最终构建成功了

  最终build.gradle中有两个地方有大的改动,如下

buildscript {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
maven { url "http://repo.springsource.org/plugins-release" }
mavenCentral()
}
dependencies {
classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
}
}
repositories {
mavenLocal()
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
maven { url "http://repo.springsource.org/plugins-release" } <-------------------------这个加入后里面下载插件的错误就解决了
mavenCentral()
}
 

按照安装说明排除掉“spring-aspects”模块

构建成功效果图

构建过程可能还会出现很多问题,解决了构建问题,接下来才能正式啃spring源码这块硬骨头,不说了,我要去啃了,泪崩!

spring-framework 源码的下载与构建的更多相关文章

  1. spring framework 源码

    spring framework 各版本源码下载地址 现在spring的源码下载地址真是不好找,这次终于找到了.记录一下,以帮助需要的朋友. https://github.com/spring-pro ...

  2. Idea搭建spring framework源码环境

    spring的源码目前放在github上,https://github.com/spring-projects/spring-framework 一.安装Git 二.安装Gradle gradle为解 ...

  3. Spring Framework 源码编译导入

    预先准备环境 Window 10 JDK环境 List item Gradle 以及其环境变量配置 spring-framework源码(https://gitee.com/mirrors/Sprin ...

  4. spring framework源码之SpringFactoriesLoader

    SpringFactoriesLoader 查询META-INF/spring.factories的properties配置中指定class对应的所有实现类. public abstract clas ...

  5. spring framework源码之AnnotationConfigApplicationContext

    AnnotationConfigApplicationContext 内部使用了AnnotatedBeanDefinitionReader:ClassPathBeanDefinitionScanner ...

  6. 精尽Spring MVC源码分析 - 调式环境搭建

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  7. 走进Spring Boot源码学习之路和浅谈入门

    Spring Boot浅聊入门 **本人博客网站 **IT小神 www.itxiaoshen.com Spring Boot官网地址:https://spring.io/projects/spring ...

  8. spring源码_下载以及转入eclipse (2016-11-08)

    本例spring源码版本是4.3.0的, 所以jdk需要准备1.8的(不同版本源码要求的jdk不一样) 1.8版本myeclipse10无编译环境,只有运行环境,出现点问题,下载最新版本的Eclips ...

  9. Spring源码研究--下载-编译-导入eclipse-验证

    一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...

随机推荐

  1. vue组件试错

    [Vue warn]: Property or method "child1" is not defined on the instance but referenced duri ...

  2. Centos7安装jupyter notebook

    安装python3 查看当前python版本 [root@iz1i4qd6oynml0z /]# python -V Python 2.7.5 安装python3以及检查python3的版本 yum ...

  3. React面试题汇总

    1.如何理解React中的组件间数据传递? ①父-子  通过props传递 ②子-父  在父中创建一个可以修改state的方法,之后把这个方法通过props传递给子,在子中调用这个方法 从而达到修改父 ...

  4. linux常用命令---用户相关操作

    用户相关操作

  5. Django项目文件

    Django项目文件 Pycharm创建django项目: 创建一个有一个app01应用的jangotest项目: 创建步骤: pycharm左上角文件file①---->新建项目new pro ...

  6. freemark+dom4j实现自动化word导出

    导出word我们常用的是通过POI实现导出.POI最擅长的是EXCEL的操作.word操作起来样式控制还是太繁琐了.今天我们介绍下通过FREEMARK来实现word模板导出. 目录 开发准备 模板准备 ...

  7. SpringBoot入门系列(十二)统一日志收集

    前面介绍了Spring Boot 异常处理,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html. 今 ...

  8. [CSS布局基础]居中布局的实现方式总结

    [原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 做Web开发少不了做页面布局.码路工人给大家总结一下 ...

  9. Life In Changsha College- 第三次冲刺

    第三次冲刺任务 设计登录注册功能. 用户故事 用户打开“生活在长大”的界面,选择登录 已注册过则输入用户名和密码直接登录 未注册用户则可选择注册功能,注册成功后登录 登录成功则弹出提示框 系统结构图环 ...

  10. 【C++】VS Code配置

    0.前言 本文已配置C++环境为例,本文主要是面向刚开始接触VS Code的朋友,采用生成默认配置任务的方法,在编写本文过程中大量参考了官方文档,感兴趣的朋友可直接前往传送门. 环境: win10 + ...