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 进行检查
我的环境:
 IntelliJ IDEA 2019.3.2 (Ultimate Edition)
    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了,然而发现 还是很慢。这里还有两处配置

    修改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

     

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

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

     

     最后,保存好一切设置后,建议重启idea,重新打开项目,然后就会发现,飞一样的速度,编译通过!

  •  

     


     

     




posted on 2021-03-30 21:44  小破孩楼主  阅读(1136)  评论(0编辑  收藏  举报