最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring源碼下載、編譯、debug的詳細教程

 更新時間:2020年10月27日 11:41:44   作者:螞蟻要上天  
這篇文章主要介紹了spring源碼下載、編譯、debug的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

零、資源準備及環(huán)境配置

記安裝時間:2020.02.20
環(huán)境準備:
1、idea2019.3.3旗艦版,免費試用30天版本
2、gradle5.6版本
3、jdk1.8.0_202
4、spring源碼。
spring源碼下載鏈接:https://github.com/spring-projects/spring-framework
gradle安裝及下載鏈接:https://gradle.org/install/#helpful-information
idea2.019.3.3下載鏈接:https://www.jetbrains.com/idea/download/other.html

一、spring源碼的下載、編譯、導(dǎo)入idea

前言:請仔細閱讀README.md、import-into-idea.md文檔

1、spring源碼下載

git clone git://github.com/spring-projects/spring-framework.git
注意git clone速度會比較慢,可以使用如下方法提速:

1、使用nslookup命令查看如下url的ip:
github.com、github.global.ssl.fastly.Net、global-ssl.fastly.Net、assets-cdn.github.com

2、寫入到/etc/hosts文件中
類似如下的形式:
13.250.177.223 github.com
205.186.152.122 github.global.ssl.fastly.Net
151.101.108.249 global-ssl.fastly.Net
185.199.109.153 assets-cdn.github.com

3、刷新dns緩存:
sudo dscacheutil -flushcache

4、git clone

2、gradle下載及安裝

gradle的版本選擇及安裝直接參考官網(wǎng)文檔:https://gradle.org/install/#helpful-information
gradle下載依賴速度比較慢,可以采用更改下載來源的方法提速:

在~/.gradle目錄下創(chuàng)建名為init.gradle的文件,寫入內(nèi)容如下:
allprojects{
  repositories {
    def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
    all { ArtifactRepository repo ->
      if(repo instanceof MavenArtifactRepository){
        def url = repo.url.toString()
        if (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、spring源碼編譯

1、在spring-framework目錄下,對Spring-oxm模塊進行預(yù)編譯,執(zhí)行命令:./gradlew :spring-oxm:compileTestJava
2、在spring-framework目錄下,對spring源碼編譯,執(zhí)行命令:./gradlew build -x test,注意此處添加-x test命令是為了在編譯期間忽略測試用例

4、spring源碼導(dǎo)入idea

參考spring源碼中的import-into-idea.md文檔,導(dǎo)入方式如下:

在這里插入圖片描述
在這里插入圖片描述

然后勾選auto-import、點擊使用本地的gradle,如果出現(xiàn)導(dǎo)入失敗的問題,可能原因:
1)如果報錯信息是gradle版本太高,則使用低版本的gradle,
2)如果是找不到Jar.class類的getArchiveFile()則說明gradle版本太低,安裝高版本的gradle。親測gradle5.6可用。
注:導(dǎo)入idea成功后記得要排除spring-aspects模塊,因為這個模塊有可能會導(dǎo)致編譯無法通過。方法:選中spring-aspects模塊右鍵,選擇“Load/Unload Moudules”(我在導(dǎo)入時沒有遇見這個問題)

二、創(chuàng)建spring demo測試

參考如下兩個博客:
http://www.freesion.com/article/300775367/
https://blog.csdn.net/feichongyh/article/details/88819535
個人親測,都可以執(zhí)行成功。
如果執(zhí)行期間遇見如下錯誤:
Kotlin: [Internal Error] java.lang.LinkageError: loader constraint violation:
loader (instance of org/jetbrains/kotlin/cli/jvm/plugins/PluginURLClassLoader$SelfThenParentURLClassLoader) previously initiated loading for a different type with name “kotlin/sequences/Sequence”
有可能是因為idea版本太低導(dǎo)致的,我剛開始使用的是idea2018,就會報這個錯誤,安裝idea2019就沒有這個問題了
參考博客:https://blog.csdn.net/u010316188/article/details/98887430

另外如果想新建gradle項目,可參考博客:https://www.jianshu.com/p/984fe1c67257

三、問題匯總

1、CoroutinesUtils找不到該類

Error:(354, 51) java: 找不到符號
符號: 變量 CoroutinesUtils
位置: 類 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

解決方法:
點擊File -> Project Structure -> Libraries -> + -> Java,然后選擇spring-framework/spring-core/kotlin-coroutines/build/libs/kotlin-coroutines-5.2.4.BUILD-SNAPSHOT.jar,在彈出的對話框中選擇spring-core.main,在重新build項目即可。
1)打開Project Structure:

在這里插入圖片描述

2)導(dǎo)入jar包:

在這里插入圖片描述

3)選擇kotlin-coroutines-5.2.4.BUILD-SNAPSHOT.jar:

在這里插入圖片描述

4)選擇spring-core.main:

在這里插入圖片描述

備注:
1、如下圖所示,在spring-core目錄下有kotlin-coroutines目錄:

在這里插入圖片描述

2、找不到Jar.class類的getArchiveFile()

gradle版本過低導(dǎo)致找不到gradle中的某些類,重新安裝高版本的gradle,如果不清楚安裝哪個版本的,可以在參考該類的最后提交時間,安裝早于該時間的gradle版本即可。

3、kotlin/sequences/Sequence錯誤

在idea的插件中升級kotlin,無法升級的話,就重新安裝idea的版本即可,本人使用2019.3.3版本測試通過。

到此這篇關(guān)于spring源碼下載、編譯、debug的文章就介紹到這了,更多相關(guān)spring源碼編譯debug內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單操作實現(xiàn)Java jsp servlet文件上傳過程解析

    簡單操作實現(xiàn)Java jsp servlet文件上傳過程解析

    這篇文章主要介紹了簡單操作實現(xiàn)Java jsp servlet文件上傳過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 詳解SpringBoot的Run方法

    詳解SpringBoot的Run方法

    本文給大家介紹了SpringBoot的Run方法,文中通過實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • 關(guān)于IDEA2020.1新建項目maven PKIX 報錯問題解決方法

    關(guān)于IDEA2020.1新建項目maven PKIX 報錯問題解決方法

    這篇文章主要介紹了關(guān)于IDEA2020.1新建項目maven PKIX 報錯問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 配置idea將Java與數(shù)據(jù)庫連接起來實現(xiàn)一個簡單的圖書管理系統(tǒng)

    配置idea將Java與數(shù)據(jù)庫連接起來實現(xiàn)一個簡單的圖書管理系統(tǒng)

    這篇文章主要給大家介紹了關(guān)于配置idea將Java與數(shù)據(jù)庫連接起來實現(xiàn)一個簡單的圖書管理系統(tǒng)的相關(guān)資料,本文從基于Java的圖書管理系統(tǒng)的背景、系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計和系統(tǒng)實現(xiàn)等方面進行了詳細的研究,需要的朋友可以參考下
    2023-12-12
  • Java實現(xiàn)聊天機器人完善版

    Java實現(xiàn)聊天機器人完善版

    這篇文章主要為大家詳細介紹了Java實現(xiàn)聊天機器人完善版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java實現(xiàn)map轉(zhuǎn)換成json的方法詳解

    Java實現(xiàn)map轉(zhuǎn)換成json的方法詳解

    這篇文章主要為大家詳細介紹了Java語言實現(xiàn)map轉(zhuǎn)換成json的幾種方法,文中的示例代碼講解詳細,對我們學習Java有一定幫助,需要的可以參考一下
    2022-05-05
  • Mybatis中OGNL表達式的具體使用

    Mybatis中OGNL表達式的具體使用

    OGNL是一種簡潔、靈活的表達式語言,本文就來介紹一下OGNL的概念以及在Mybatis中的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • java 實現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂)

    java 實現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂)

    這篇文章主要介紹了java 實現(xiàn)簡單圣誕樹的示例代碼(圣誕節(jié)快樂),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 在SpringBoot中使用HATEOAS的方法

    在SpringBoot中使用HATEOAS的方法

    這篇文章主要介紹了在SpringBoot中使用HATEOAS的方法,HATEOAS是實現(xiàn)REST規(guī)范的一種原則,通過遵循HATEOAS規(guī)范,可以解決我們實際代碼實現(xiàn)的各種個問題,下文更多相關(guān)介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Spring MVC---數(shù)據(jù)綁定和表單標簽詳解

    Spring MVC---數(shù)據(jù)綁定和表單標簽詳解

    本篇文章主要介紹了Spring MVC---數(shù)據(jù)綁定和表單標簽詳解,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01

最新評論

湘阴县| 兴宁市| 清涧县| 南昌县| 天水市| 南丰县| 昆山市| 宿松县| 通榆县| 滁州市| 闸北区| 永年县| 阜康市| 鹤峰县| 分宜县| 赞皇县| 吐鲁番市| 葵青区| 武宣县| 横峰县| 新宾| 昭平县| 正蓝旗| 云南省| 姚安县| 漳浦县| 辛集市| 瑞昌市| 自治县| 克什克腾旗| 平湖市| 略阳县| 宁河县| 淳安县| 东兰县| 白水县| 镇原县| 应用必备| 华容县| 合阳县| 三台县|