gradle+idea配置阅读Spring源码开发环境(解决jar包下载缓慢问题)

gradle+idea配置阅读Spring源码开发环境(解决jar包下载缓慢问题)

阅读源码是学习Spring的最好的方法,但是Spring不是使用maven进行构建,而是使用gradle进行构建的。gradle大家可以理解为和maven一样的东西,整体思想和maven也差不多。

很多博客都大概总结了使用gradle和idea编译spring的步骤,在编译中需要下载非常多的jar包,但是由于一些众所周知的原因,编译很容易失败,而且非常缓慢。这就是本文要解决的问题。

0 前提

进行安装之前,请确保你的jdk环境是1.8+,并且成功设置好了环境变量。
使用 java -version 进行检查

我的环境:

  1. IntelliJ IDEA 2019.3.2 (Ultimate Edition)
  2. JDK 1.8.0

1. 安装gradle

spring 源码是使用gradle进行管理的,所以首先得下载安装好gradle 并设置好环境变量。

1.1 下载gradle

建议到下面的网址中下载,比官网点击download 要快很多

网址:https://services.gradle.org/distributions/

我下载的是gradle-5.6.all.zip

在这里插入图片描述

下载完之后 解压到你想要的文件夹中,注意路径不要出现中文。

1.2 配置环境变量

  • linux和mac中在~/.bashrc 中配置 并且保存设置

    # 配置gradle环境变量
    export gradle_home=/usr/local/gradle-5.6/bin
    export PATH=$PATH:$gradle_home
    
  • windows中
    假设windows安装在 E:\install-dev\gradle-5.6.3 ## 修改为自己的路径
    在这里插入图片描述
    在path中添加下列信息

    在这里插入图片描述

1.3 查看是否配置成功

gradle -v

在这里插入图片描述

1.4 配置gradle,加速

在gradle根目录:\init.d\下,新建一个:init.gradle 文件,添加以下内容

设置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        }
   }}

2. 下载spring 源码

2.1 下载源码

网址:https://github.com/spring-projects/spring-framework/tree/5.0.x

我下载的是spring 5.0的源码 可以使用 git下载

git https://github.com/spring-projects/spring-framework.git

如果比较慢,可以直接下载zip包,解压即可。
在这里插入图片描述

2.2 修改配置

配置spring源码根目录下的build.gradle文件:
注释configurations.all (注意不要注释错了,这里要小心,截图如下)
同时,添加一段配置

allprojects {
	repositories {
		maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
	}
}

在这里插入图片描述

2.3 开始编译

在spring源码根目录下
windows使用命令 : gradlew :spring-oxm:compileTestJava
linux和mac使用命令: ./gradlew :spring-oxm:compileTestJava

体验飞一样的感觉吧!我第一次编译只用了2分钟,和其他教程动不动failed完全不一样!
在这里插入图片描述

3. 导入idea

快成功了,但是还需要配置!

  • File -> New -> Project from Existing Sources -> 找到选择spring-framework源码

  • 然后配置项目的gradle 为自己的下载安装的gradle,不用使用idea自带的
    在这里插入图片描述

这个时候 idea应该开始自动build了,然而发现 还是很慢。这里还有两处配置

  1. 修改spring源码根目录中的gradle.properties文件

    org.gradle.daemon=true
    org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    org.gradle.parallel=true
    org.gradle.configureondemand=true
    

    在这里插入图片描述

  2. 修改spring源码根目录中的setting.gradle文件,在第一行添加下面的配置,注意是在第一行 添加!不是覆盖所有!

    # 在第一行插入
    pluginManagement {
    	repositories {
    		maven { url "https://maven.aliyun.com/repository/public" }
    		gradlePluginPortal()
    		maven { url 'https://repo.spring.io/plugins-release' }
    	}
    }
    

    在这里插入图片描述

最后,保存好一切设置后,建议重启idea,重新打开项目,然后就会发现,飞一样的速度,编译通过!
在这里插入图片描述

  • 24
    点赞
  • 59
    收藏
  • 打赏
    打赏
  • 20
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论 20

打赏作者

MrWu1997

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值