`

Spring源码编译

阅读更多

前言

 

Spring源码之前有读过,主要读的是IOC部分。由于换了电脑,加上想再看看其他部分,遂决定重新来过。Spring源码现已迁移至GitHub。

 

准备工作

 

Git和JDK1.7+是必需的。因为最新的spring-framework是采用gradle编译的,故需要下载gradle。

 

源码下载

 

我下载的是Spring3.2.x版本

 

git clone git://github.com/SpringSource/spring-framework.git

 

源码编译

 

1、修改gradlew.bat中关于jvm内存设置的参数

 

原始设置:

 

set GRADLE_OPTS=-XX:MaxPermSize=1024m -Xmx1024m -XX:MaxHeapSize=256m %GRADLE_OPTS%

 

现在设置:

 

set GRADLE_OPTS=-XX:MaxPermSize=512m -Xmx512m -XX:MaxHeapSize=256m %GRADLE_OPTS%

 

不然会报如下错误:

 

Error occurred during initialization of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine

 

2、在cmd中进入spring-framework目录中,运行 gradlew.bat build -x test,跳过所有的测试。因为测试总会有失败,原因在spring-oxm的测试用例有问题,导致编译失败。

 

3、安装所有的spring-* jars到本地Maven cache中,运行gradlew.bat install

 

4、将源码导入eclipse中。

 

4.1、cmd窗口执行命令gradlew.bat cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse

 

4.2、按照eclipse File > Import... > Existing Projects into Workspace导入所有的springFramework项目

 

4.3、在cmd窗口执行gradlew.bat :eclipse

 

4.4、按照eclipse File > Import... > Existing Projects into Workspace导入springFramework 父项目

 

总结

整个过程可谓历尽千辛万苦啊。看看成果吧。

  • 大小: 38.7 KB
分享到:
评论

相关推荐

    spring源码编译以及如何用eclipse运行的方法

    ### Spring源码编译及Eclipse运行方法详解 #### 一、下载Spring源码 首先,需要从官方网站或其他可靠的源获取Spring源码。本例中使用的版本为`spring-framework-3.1.0.RELEASE`,下载地址为:...

    spring源码编译缺少的cglib和objenesis包

    在深入探讨Spring源码编译过程中遇到的CGlib和Objenesis问题之前,我们先了解一下这两个库的基本概念。 CGlib(Code Generation Library)是Java的一个动态代理库,它主要用于生成子类来实现对目标对象的代理。在...

    Spring源码编译缺少的两个包:spring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.2.jar

    在本案例中,"Spring源码编译缺少的两个包:spring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.2.jar"揭示了这两个关键的库对于Spring源码编译是必不可少的。下面将详细讲解这两个库的作用及其在Spring中的...

    spring源码编译缺少jar包

    在进行Spring源码的编译工作时,可能会遇到因缺失特定jar包而导致的编译问题。...同时,这也提醒我们在处理任何开源项目源码编译时,都需要仔细检查并满足所有必要的依赖关系,以确保编译和运行的顺利进行。

    spring源码编译缺失包

    在深入探讨Spring源码编译过程中可能遇到的缺失包问题之前,我们首先需要理解Spring框架的基本概念和其在Java开发中的重要性。Spring是Java领域中最广泛应用的轻量级框架,它提供了丰富的功能,包括依赖注入、AOP...

    spring源码报错缺失的两个包

    然而,有时候我们可能会遇到"spring源码报错缺失的两个包"这样的问题,这意味着我们的开发环境缺少了某些必要的依赖,导致Spring框架无法正常工作。在这个情况下,解决办法就是将这两个包添加到构建路径(build path...

    spring源码编译+test

    方便spring源码的编译

    spring源码注释中文

    Spring 源码注释中文版的提供,使得开发者能够更加深入地理解 Spring 的工作原理,无需经过复杂的编译过程,可以直接阅读源码注释来学习。 Spring 框架主要由以下几个关键模块组成: 1. **Core Container(核心...

    spring源码编译时缺少的类cglib,objenesis,castor

    在Spring框架的源码编译过程中,可能会遇到依赖问题,特别是涉及到动态代理和对象创建时。这里提到的三个关键库——`spring-cglib-repack-3.2.0.jar`,`spring-objenesis-2.2.jar`,以及`castor-1.2.jar`,对于理解...

    编译好的Spring的eclipse工程!Spring源码

    这个压缩包包含的是编译好的Spring 4.3.0版本的源码,对于学习和理解Spring的工作原理极其有价值。 在Spring 4.3.0版本中,有几个重要的知识点值得深入探讨: 1. **IoC容器**:IoC是Spring的核心,它管理对象的...

    Spring4.2.x源码编译缺少的jar包

    Spring4.2.x源码编译缺失的 spring-objenesis-repack-2.2.jar 包。亲测可用

    spring3.2 源码编译后需要的jar

    spring3.2 源码编译后需要的jar,spring3.2 源码编译后需要的jar,spring3.2 源码编译后需要的jar

    spring3.2 源码编译后需要的jar2

    spring3.2 源码编译后需要的jar,spring3.2 源码编译后需要的jar,spring3.2 源码编译后需要的jar

    spring2.5源码编译

    《Spring 2.5源码编译全解析》 在软件开发领域,深入理解框架的源码对于提升技术水平和优化应用至关重要。Spring作为Java领域的主流框架之一,其2.5版本是许多开发者学习和研究的基础。本文将详细介绍如何编译...

    spring3.2 编译后源码

    总的来说,Spring 3.2 编译后的源码是一份宝贵的教育资源,可以帮助开发者深入了解 Spring 框架的内部工作原理,从而在实践中更好地应用和扩展它。通过对源码的深入学习,你可以提升自己的编程技能,掌握更多设计...

    spring-framework:Spring源码编译,附:IntelliJ IDEA2019.3编译教程

    废话不多说,本篇就如何在我们的intelliJ IDEA编译Spring源码的步骤以及在编译的过程中遇到的问题做一个详细说明。 环境 开发工具:IntelliJ IDEA 2019.3.3 编译工具:gradle-6.4-rc-4 操作系统:Windows 10 Spring...

    编译后的spring源码,可直接导入eclipse

    本压缩包提供的“编译后的spring源码”是学习和理解Spring工作原理的宝贵资源,对于Java开发者,尤其是希望深入Spring内部机制的人来说,这是一个不可多得的学习资料。 首先,导入Eclipse是开发Java项目的标准步骤...

    spring-framework-5.2.0源码编译

    基于spring5.2.0源码编译,需要阅读源码的同学可以下载后直接导入idea使用。 idea版本为2019.2 。 已经完成了编译,只需要添加自己的模块即可运行。

    spring源码(编译好了,可以直接导入eclipse)

    标题提到的"spring源码(编译好了,可以直接导入eclipse)"表明这个压缩包包含的是已经编译完成的Spring框架源代码,可以直接在Eclipse集成开发环境中使用,便于学习和调试。 首先,Spring框架的核心组成部分包括...

    spring 源码环境搭建

    "spring源码" 是指 Spring 框架的源代码。 部分内容解释 1. 下载 GitHub 客户端安装 下载 GitHub 客户端是因为 Spring 源码托管在 GitHub 上,所以我们需要下载 GitHub 客户端来 clone Spring 源码。安装成功后,...

Global site tag (gtag.js) - Google Analytics