Spring源码编译遇到的坑(5.0.x)

最近想研究下spring的源码,但是编译过程一直遇到问题,网上找了好久都没有一篇文章能完全解决我遇到的问题,最后在结合了几篇比较靠谱的文章在加上我的一些灵感,总算是编译成功了,于是决定把踩坑的经验写下来以备不时之需。

1.Spring源码下载

git地址 众所周知的原因,下载比较费劲,多试试就可以了

2.配置

2.1 下载gradle

spring使用gradle构建,需要下载gradle,具体版本需要根据\spring-framework\gradle\wrapper\gradle-wrapper.properties目录下的配置来确定,目前5.0.x对应版本为4.4.1
在这里插入图片描述
gradle下载地址:gradle
在这里插入图片描述
下载解压后配置gradle环境变量:
在这里插入图片描述

在这里插入图片描述
新建系统环境变量GRADLE_HOME,指向gradle安装根目录
在这里插入图片描述
在Path下增加%GRADLE_HOME%\bin
在这里插入图片描述
在这里插入图片描述
配置好后打开cmd命令输入:gradle -v在这里插入图片描述
配置成功
配置gradle使用阿里云仓库,在gradle安装目录下找到init.d目录,新建init.gradle文件,配置如下:

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
                if (url.startsWith('https://plugins.gradle.org/')) {
                   project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                   remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

2. 编译

使用Idea导入spring项目,切换到分支5.0.x

2.1修改build.gradle配置

这个配置在根目录下

在这里插入图片描述
修改1:buildscript配置

	repositories {
			gradlePluginPortal()
			//把原来的内容替换为阿里云
			maven{ url 'https://maven.aliyun.com/repository/public' }
			maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
		}
		//增加这个allprojects 配置
		allprojects {
			repositories {
				maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
				maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
				maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
	
			}
		}

修改2:configure(allprojects) 配置

//找到configure(allprojects)标签的repositories内容,将里面的地址替换为阿里云
	repositories {
		maven {
			url 'https://maven.aliyun.com/repository/spring-plugin'
		}
		maven {
			url 'https://maven.aliyun.com/repository/public/'
		}
	}

修改3:\spring-framework\gradle\wrapper\gradle-wrapper.properties
把distributionUrl指向自己本地下载的gradle,要不然会先去官网下载gradle
在这里插入图片描述

2.2 开始编译

打开cmd命令窗口,进入spring-framework根目录,执行命令:gradle :spring-oxm:compileTestJava
等待下载依赖…

3.报错处理

如果遇到某个插件或者包下载不了,而且地址是指向spring官网的,说明阿里云指向配置有问题,从新捋下要修改的配置,如果还报错,那就在项目中搜一下报错指向的地址,看看哪里配置的指向了spring官网,修改为阿里云的地址即可(我自己的解决办法)

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pdftoolkit_vcl_5.0.0.402_retail_downloadly是一款PDF文件处理工具。它是一个VCL组件库,可在Delphi和C ++ Builder中使用。该工具包含各种组件,可以使用它们来创建、编辑、转换和打印PDF文件。该工具包括以下组件:PdfDocument组件可用于打开、创建和操作PDF文件;PdfPage组件可用于操作PDF文档的页面;PdfCanvas组件可用于绘制图形和文本,使其显示在PDF页面上;PdfDestination组件可用于导航到PDF页面和特定部分。此外,pdftoolkit_vcl_5.0.0.402_retail_downloadly还包括PdfSecurity组件,其中包括加密和解密PDF文件的功能。使用该工具可以创建具有复杂文本、图形和图像的PDF文件,也可以将现有的PDF转换为其他格式,如DOCX、XLSX等。此外,它还支持水印、注释和数字签名。该工具易于使用,具有丰富的文档和例子,以帮助用户更快地掌握工具的使用方法,并节省开发时间。 ### 回答2: pdftoolkit_vcl_5.0.0.402_retail_downloadly是一个可用于创建应用程序的PDF处理工具包,该工具包可以让开发者在应用程序中实现PDF编辑、合并、分割等操作。该工具包是一个比较完整的PDF处理工具包,包括可以对PDF文件进行的所有操作。由于该工具包是商业软件,因此用户需要购买授权才能使用。 该工具包具有易于使用的API,开发者可以轻松地将其集成到现有的应用程序中。它还支持多种开发平台,如Delphi、C++ Builder、.NET、Visual Basic等,适用于不同的应用程序开发需求。与其他PDF工具包一样,pdftoolkit_vcl_5.0.0.402_retail_downloadly提供了一系列的示例代码和文档,以帮助开发者更快速地了解其使用方法和API接口。这些文档和示例代码是非常实用的,对于初次使用该工具包的开发者来说非常有帮助。 该工具包的售后服务也非常出色,用户可以得到来自工具包制造商的技术支持和更新内容。总体而言,pdftoolkit_vcl_5.0.0.402_retail_downloadly是一个功能强大的PDF处理工具包,是开发者在应用程序中实现PDF编辑、合并、分割等操作的不错选择。 ### 回答3: pdftoolkit_vcl_5.0.0.402_retail_downloadly是一个用于PDF文档操作的VCL工具包,具有很高的可靠性和易用性。它为开发人员提供了一系列的组件和函数,使其能够快速地生成、编辑和浏览PDF文档。 PDFToolkit VCL 5.0.0.402 Retail Downloadly的最新版本包含了多种新的特性和改进,例如支持64位编译、更好的PDF阅读器、更强大的加密等。此外,它还具有优秀的兼容性,可与常见的开发工具完美搭配使用,如Embarcadero RAD Studio、Delphi、C++ Builder等。 PDFToolkit VCL 5.0.0.402 Retail Downloadly能够快速地生成、编辑和浏览PDF文档,支持多种格式转换,包括HTML、RTF和TXT等。它还支持PDF加密和解密、数字签名等高级功能,同时具有强大的防止PDF文档被改变和篡改的能力。总之,PDFToolkit VCL 5.0.0.402 Retail Downloadly是一个非常实用和高效的PDF文档操作工具,值得广泛的应用和推广。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值