Spring源码分析——源码分析环境搭建

1.在Windows上安装Gradle

gradle工具类似于maven,用于项目的构建,此处主要用于构建spring源码,以便我们将spring源码导入eclipse。

  • 开发环境

  1. Java:JDK8(必须是JDK或JRE7以上,使用java -version查看当前电脑java版本)
  2. 操作系统:Windows
  • 安装步骤

  1. 下载最新的Gradle压缩包:Gradle官网:https://gradle.org/,当前最新版本下载地址:https://gradle.org/releases/,下载binary-only即可。
  2. 解压下载的压缩包到指定位置,比如:C:\Gradle\gradle-4.3.1
  3. 配置环境变量:右键计算机->属性->高级系统设置->环境变量,在系统变量区域,点击新建,输入变量名为:GRADLE_HOME,变量值为:D:\Software\Gradle\gradle-4.3.1(根据实际情况)。找到Path,在原始内容基础上加入%GRADLE_HOME%\bin;,必须以分号结束
  4. 测试配置是否成功

       打开一个新的cmd命令窗口或者powershell或者其他命令行工具(比如cmder),输入命令gradle -v,如果出现类似下面的消息,则说明配置成功。

2.Spring源码下载及安装

  • 源码下载方式

  1. 直接根据本博客提供的网址,自行下载需要的spring源码版本,地址 https://github.com/spring-projects/spring-framework/tags,本博客推荐此方式,简单粗暴;
  2. 使用GitHub从git上自行拉取 ,此方式适合喜欢git代码管理或者愿意学习git知识的人员。具体方式可参考:https://blog.csdn.net/u013030488/article/details/79837365。
  • 代码构建

    拉取的Spring源码并不能直接导入eclipse中,需要通过gradle构建才能导入,以spring-tx模块为例,具体步骤如下:

1.从命令行进入到spring-tx文件夹下,运行gradle cleanIdea eclips命令,等待运行结束,当出现"success",表示构建完成;

                 

        构建完成后目录变化:

        

2.构建完毕后,将项目spring-tx进行导入到Eclipse中(普通web项目导入流程);

3. 导入后,显示为红色!号,右击项目选择Build Path -->configure  Build Path,可以看到project下的项目缺失,此时需要将这些项目也像Spring-tx一样进行构建,下面                          的截图是已经处理完毕错误截的图片,

        

想说明的是:这个项目依赖下面几个spring-项目,所以也需要依次导入。

3.其他问题解决

  • Spring源码构建项目,导入eclipse后,缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar的解决办法:

  在导入ide之后,发现有spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar不存在,在spring-framework目录下执行gradle objenesisRepackJar和gradle cglibRepackJar命令,会在Spring-framework\spring-core\build\libs目录下生成jar包。

  

  • 导入eclipse的过程中发现spring-oxm缺少castor和jax

查看spring-oxm下的spring-oxm.gradle文件后,发现可以在spring-oxm项目目录下执行下面两个命令:

      1.gradle genCastor

      2.gradle genJaxb

      

      控制台出现这个代码表示成功,然后在spring-oxm的根目录下会出现build文件夹,如下图

      

      然后将eclipse中的spring-oxm项目删除,再重新导入spring-oxm项目后就不报错了

  • spring源码gradle获得eclipse工程时,spring-beans-groovy项目GroovyDynamicElementReader报错解决

    安装一个eclipse的groovy插件,在eclipse的 Help -> Install New Software 中,添加groovy的下载连接:http://dist.springsource.org/milestone/GRECLIPSE/e4.8/,然后全  选后,开始下载,下载完后,重启eclipse,然后clean一下项目就搞定了。

              注意groovy插件版本需要根据eclipse的版本而不同。进入 https://github.com/groovy/groovy-eclipse/wiki查找和自己eclipse对应版本的groovy,详细介绍见博客  https://blog.csdn.net/qq_27645299/article/details/72900801

  • 结语

根据博客内容基本就完成了Spring源码环境的搭建,后面就可以学习源码了。

原文地址:https://www.cnblogs.com/tlxf-blog/p/9682791.html

时间: 2024-10-07 03:02:25

Spring源码分析——源码分析环境搭建的相关文章

spring+springMVC+mybatis的框架项目基础环境搭建

上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这个,但是当时重点在于实现activiti的功能,因此在环境搭建上也只是以能用为前提,与真实项目中所用的还是差了不少. 因此为了给接下来的项目做准备,今天便抽空练习了一下这个框架组合的搭建.虽然之前的框架都不是我来搭,接下来这个可能也不是让我搭,但记录下来说不定以后能用上,也或者对其他人有用. 那么进

vscode源码分析【一】环境搭建+以源码运行vscode

安装git,nodejs和yarn 安装Python27,3.x版本的不行,确保它在你的环境变量里: 安装gulp npm install --global gulp-cli 安装windows build tools: npm install --global windows-build-tools --vs2015 安装node-gyp npm install -g node-gyp 下载vscode的源码: 用管理员的方式打开powershell,不是管理员身份不行 在源码根目录下执行:y

【码上微服务】- 环境搭建 - Eureka注册中心

一.前言 本章将讲述基于Spring Cloud的注册中心Eureka的简单工程搭建及Docker部署. 二.环境准备 操作系统:CentOS 7.2 项目管理:MAVEN(推荐使用阿里源中央仓库:http://maven.aliyun.com/nexus/content/repositories/central/) 开发IDE:IDEA 所用语言:JAVA 所用容器:Docker 三. Eureka注册中心项目搭建 JAVA工程创建(这里使用了IDEA) 相关的pom.xml <?xml ve

【码上微服务】- 环境搭建 - Docker

一.前言 本系列针对有一定微服务架构基础的同僚,写博主要是为了沟通学习. 二.环境准备 操作系统:CentOS 7.2 三.Docker安装 使用官方安装脚本自动安装(这里使用了阿里云镜像源) curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 手动安装(使用yum进行安装,这里使用了阿里云镜像源) # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device

【JavaScript】赛码网前端笔试本地环境搭建

参考:https://hoofoo.me/article/2017-04-11/%E8%B5%9B%E7%A0%81%E7%BD%91%E5%89%8D%E7%AB%AF%E7%AC%94%E8%AF%95%E6%9C%AC%E5%9C%B0%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.html print方法的实现 这个没有什么难度,只是把console.log改个名字的事情,一行代码就可以解决. var print = console.log read_line方

spring入门(五)【springMVC环境搭建】

springMVC作为spring的一个WEB组件,是一个MVC的思想,减少了WEB开发的难度,现介绍springMVC环境的搭建,具体的原理放在后面介绍.用过框架的朋友都知道要在WEB项目中使用一个框架,必须要引入这个框架,和其他框架的引用方式一样,springMVC的引入方式是通过DispatcherServlet,那么我们就要在web.xml中配置此servlet,在lib目录下我已经把用到的jar包全部导入,下面看我的web.xml文件的配置, <?xml version="1.0

Spring cloud微服务安全实战-7-3prometheus环境搭建

Prmetheus 主要用来做来Metrics的监控和报警,这张图是官方的架构图. 这是他的核心 它的作用是根据我们的配置去完成数据的采集.服务的发现,以及数据的存储. 这是服务的发现,通过Service discovery,prmethesu就会知道去哪里采集数据.Service discovery有两种形式,一种是是静态的,就是通过文件去配.告诉它你要去哪拿这个Metrics的数据,另一种就是动态的,通过zookeeper或者其他的一些配置中心,配置中心里面的数据变化的时候,Promethe

Spring 源码分析(一)--整体架构和环境搭建

本系统分析的spring源码版本为4.3.8. (一)整体架构 这些模块被分为以下几个部分 (1)Core Container Core容器(核心容器)包含Core,Beans,Context和Expression Language模块. Core模块(spring-core)主要包含Spring框架基本的核心工具类,Spring其它组件都要使用到这个包里的类,Core模块是其它组件的基本核心.好比演戏时需要使用到的道具. Beans模块(spring-beans)是所有应用到要使用到的bean

Spring源码分析——(001)环境搭建

1.官方参考 spring-framework的github链接:https://github.com/spring-projects/spring-framework 源码环境搭建官方参考1:考如何构建源码,Build from Source:https://github.com/spring-projects/spring-framework/wiki/Build-from-Source 源码环境搭建官方参考2:源码如何导入eclipse,import-into-eclipse:https: