Spring源码编译加速

Spring源码编译加速,解决本地卡、慢等问题
最近在学习spring源码,下载源码后,使用gradle编译源码时,发现速度特别慢,在网络上参照了很多优秀的博客,修改了一系列的配置,包括settings.gradle、build.gradle 等,甚至还将本地的gradle文件夹里创建了一个init.gradle的文件,发现还是没有用,编译结束还是需要将近1个小时,当然,这个可能跟我的网络也有一定的关系。
上干货:用户目录上创建一个.gradle文件,并将里面的URL配置到阿里云,再次编译,3分多钟就结束了。
1、先将spring源码下载下来,并安装好对应的gradle
我的spring源码是5.2.8.RELEASE ,gradle用的是5.6.4。

在这里插入图片描述
2、去用户目录下创建init.gradle文件,并配置阿里云
用户目录大概长这个样子,你每天打开电脑登录的是哪个用户就是谁。
在这里插入图片描述
下面是init.gradle文件的内容,保存后退出。

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


3、在下载的源码的目录gradle/wrapper
可以将文件gradle-5.6.3-all.zip放到本级目录,这样可以不用去远端下载,加快速度.
本级目录也需要创建文件init.gradle用于替换默认的url,可以有效防止401鉴权的发生.
init.gradle的内容如下:

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

gradle-wrapper.properties内容修改为:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip
#此处配置的gradle版本里面的init.d中配置了替换url的方法,可以有效防止出现从repo.spring.io下载出现401问题
#注意官网下载的默认是没有init.d中的脚本,**需要手动压缩进去**,这样程序解压就能直接调用了,本地配置的环境变量gradle没生效
distributionUrl=gradle-5.6.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

4、build.gradle中需要替换的地方有两处

buildscript {
repositories {
	    maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
	    maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
	    maven { url "https://repo.spring.io/libs-spring-framework-build" }
		maven { url "https://repo.spring.io/plugins-release" }
		mavenCentral()
	}...省略下方代码
repositories {
		maven { url "https://maven.aliyun.com/nexus/content/groups/public/" }
		//maven { url "https://repo.spring.io/libs-release" }
	}

	dependencies {...此处省略下方代码

5、编译源码
使用命令窗口,转入spring源码的目录后,使用命令gradlew :spring-oxm:compileTestJava编译,接下来就是激动人心的时刻了。
在这里插入图片描述
到此就结束啦!希望对大家有所帮助哦!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
编译Spring码,你需要先安装JDK并下载Spring码。你可以从Spring官方的GitHub库中下载码,链接是https://github.com/spring-projects/spring-framework。如果你觉得下载速度慢,也可以使用这个已经下载好的链接:https://pan.baidu.com/s/18lEeQCwQKo1E4bli4SAJ2A 提取码:dvda。一旦你下载好了码,你可以按照以下步骤进行编译: 1. 配置好JDK环境变量,确保你可以在命令行或终端中运行Java和Javac命令。 2. 打开命令行或终端,进入到你下载好的Spring码的根目录。 3. 运行命令`./gradlew build`(对于Windows系统,运行`gradlew.bat build`),这将使用Gradle构建项目并编译码。 4. 等待编译完成,你可以在构建目录中找到生成的编译结果。 请注意,编译Spring码可能需要一些时间和计算资,同时也需要一些基本的编译知识和工具配置。建议你在编译之前先阅读Spring官方文档中关于构建和编译的指南,以确保你有必要的环境和了解编译的要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [spring编译](https://blog.csdn.net/jiayoubaobei2/article/details/127311223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [spring编译完整版](https://blog.csdn.net/qq_39409977/article/details/107904932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值