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,重新打開項目,然后就會發現,飛一樣的速度,編譯通過!

  •  

     


     

     





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM