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

如何導(dǎo)入spring源碼到IDEA

 更新時(shí)間:2021年03月22日 10:17:11   作者:small_horizon  
這篇文章主要介紹了如何導(dǎo)入spring源碼到IDEA,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

環(huán)境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1

前期準(zhǔn)備

 1.訪問(wèn)spring官網(wǎng)下載spring framework源碼

在這里插入圖片描述

spring源碼放在了github,點(diǎn)擊如下圖中的按鈕訪問(wèn)(有可能訪問(wèn)不了github官網(wǎng),可參考此處)

在這里插入圖片描述

如下圖步驟選擇要下載的spring源碼版本

在這里插入圖片描述

點(diǎn)擊code–》Download ZIP下載

在這里插入圖片描述

解壓到某個(gè)目錄下

在這里插入圖片描述

2.安裝gradle

到解壓的spring源碼目錄下spring-framework-5.0.5.RELEASE\gradle\wrapper,打開(kāi)gradle-wrapper.properties文件查看需要安裝的gradle版本(此處:gradle-4.4.1-bin.zip)。

在這里插入圖片描述

訪問(wèn)gradle官網(wǎng)https://gradle.org/releases/,下滑找到需要的版本,點(diǎn)擊binary-only下載

在這里插入圖片描述

直接解壓到你想要的目錄下

在這里插入圖片描述

在gradle的init.d目錄下新建build.gradle,寫(xiě)入如下代碼。目的是編譯源碼的時(shí)候快些

在這里插入圖片描述

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

設(shè)置gradle的環(huán)境變量(類(lèi)似設(shè)置jdk的環(huán)境變量)。新建GRADLE_HOME系統(tǒng)變量,變量值為自己解壓的gradle目錄

在這里插入圖片描述

編輯path變量,在后面追加%GRADLE_HOME%\bin

在這里插入圖片描述

cmd輸入gradle -v驗(yàn)證是否安裝并配置好gradle。如下圖所示那樣就已經(jīng)配置好gradle了

在這里插入圖片描述

新建gradle倉(cāng)庫(kù)(repository),比如:

在這里插入圖片描述

這一步可以不做,改下spring源碼目錄下spring-framework-5.0.5.RELEASE\gradle\wrappe\gradle-wrapper.properties文件的distributionUrl的值(本地安裝的gradle路徑),不然編譯spring源碼的時(shí)候會(huì)去下載gradle

在這里插入圖片描述

導(dǎo)入spring源碼到IDEA

1.打開(kāi)spring-framework-5.0.5.RELEASE下的import-into-idea.md,看下官方導(dǎo)入IDEA的步驟

在這里插入圖片描述

steps:
1)編譯spring-oxm模塊,這一步看2.5
2)選擇spring-framework-5.0.5.RELEASE下builde.gradle文件導(dǎo)入IDEA
3)排除spring-aspects模塊,這一步看2.4

2.導(dǎo)入IDEA步驟

2.1打開(kāi)IDEA點(diǎn)擊import project,不要點(diǎn)open

在這里插入圖片描述

然后點(diǎn)擊spring-framework-5.0.5.RELEASE下builde.gradle文件

在這里插入圖片描述

2.2配置項(xiàng)目的gradle

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

2.3項(xiàng)目配置

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

2.4排除spring-aspects模塊

spring-aspects模塊使用了aspectJ的jar,所以要先排除。不然很可能中途編譯spring源碼失敗,等到spring源碼編譯好了可以參考spring源碼項(xiàng)目使用spring-aspects,配置

在這里插入圖片描述

2.5編譯spring-oxm

使用gradle :spring-oxm:compileTestJava編譯spring-oxm模塊,下圖是我這邊編譯成功的圖

在這里插入圖片描述

2.6項(xiàng)目build。

項(xiàng)目build要下載spring-framework需要的jar,此過(guò)程一般要很長(zhǎng)的時(shí)間。如果在項(xiàng)目build的過(guò)程中失敗,可以重新build或者重新打開(kāi)項(xiàng)目

在這里插入圖片描述

2.7查看項(xiàng)目是否build好

項(xiàng)目build好后gradle面板和module面板就是這樣的,和剛導(dǎo)入項(xiàng)目時(shí)不一樣

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

2.8編譯其他模塊.

可能還有其它模塊沒(méi)有編譯(如:spring-web、spring-orm。。。),可以選擇spring–>Tasks–>other–>compileTestJava編譯其他模塊

在這里插入圖片描述

編譯好的模塊下面一般會(huì)有build目錄,build目錄下有個(gè)classes目錄存放編譯好的字節(jié)碼文件

在這里插入圖片描述

3.簡(jiǎn)單調(diào)試

到這里已經(jīng)構(gòu)建好了spring源碼項(xiàng)目,可以在spring下新建模塊來(lái)測(cè)試環(huán)境是否有問(wèn)題

3.1新建模塊

project structure–》modules–》spring–》add–》new module

在這里插入圖片描述

確保要新建的模塊的信息如下圖,然后點(diǎn)擊next

在這里插入圖片描述

填好parent、模塊名稱(chēng)點(diǎn)擊finish,點(diǎn)擊ok

在這里插入圖片描述

稍等一會(huì)就可以看到新建的模塊

在這里插入圖片描述

3.2測(cè)試

創(chuàng)建BeanEntity配置類(lèi)

在這里插入圖片描述

新建Test測(cè)試,從運(yùn)行結(jié)果看完全沒(méi)有問(wèn)題

在這里插入圖片描述

注意:我用的環(huán)境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1
環(huán)境不同可能中途會(huì)有些其他問(wèn)題

到此這篇關(guān)于如何導(dǎo)入spring源碼到IDEA的文章就介紹到這了,更多相關(guān)導(dǎo)入spring源碼到IDEA內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring事務(wù)管理下synchronized鎖失效問(wèn)題的解決方法

    Spring事務(wù)管理下synchronized鎖失效問(wèn)題的解決方法

    這篇文章主要給大家介紹了關(guān)于Spring事務(wù)管理下synchronized鎖失效問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Java中的關(guān)鍵字_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java中的關(guān)鍵字_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    關(guān)鍵字也稱(chēng)為保留字,是指Java語(yǔ)言中規(guī)定了特定含義的標(biāo)示符。對(duì)于保留字,用戶(hù)只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義
    2017-04-04
  • Java?LockSupport常用方法的源碼分析

    Java?LockSupport常用方法的源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java?LockSupport類(lèi)中的方法和部分源碼,以及面試常問(wèn)到的一個(gè)小問(wèn)題,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-02-02
  • 解讀@EventListener工作原理

    解讀@EventListener工作原理

    這篇文章主要介紹了@EventListener工作原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java求字符串中出現(xiàn)次數(shù)最多的字符串以及出現(xiàn)次數(shù)

    Java求字符串中出現(xiàn)次數(shù)最多的字符串以及出現(xiàn)次數(shù)

    這篇文章主要為大家詳細(xì)介紹了Java統(tǒng)計(jì)字符串中出現(xiàn)次數(shù)最多的字符串以及出現(xiàn)次數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 基于Java回顧之JDBC的使用詳解

    基于Java回顧之JDBC的使用詳解

    本篇文章是對(duì)Java中JDBC的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Java反射機(jī)制實(shí)例代碼分享

    Java反射機(jī)制實(shí)例代碼分享

    這篇文章主要介紹了Java反射機(jī)制實(shí)例代碼分享,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • springboot+shiro+jwtsession和token進(jìn)行身份驗(yàn)證和授權(quán)

    springboot+shiro+jwtsession和token進(jìn)行身份驗(yàn)證和授權(quán)

    最近和別的軟件集成項(xiàng)目,需要提供給別人接口來(lái)進(jìn)行數(shù)據(jù)傳輸,發(fā)現(xiàn)給他token后并不能訪問(wèn)我的接口,拿postman試了下還真是不行,檢查代碼發(fā)現(xiàn)項(xiàng)目的shiro配置是通過(guò)session會(huì)話來(lái)校驗(yàn)信息的,修改代碼兼容token和session
    2024-06-06
  • 基于ArrayList初始化長(zhǎng)度的作用及影響

    基于ArrayList初始化長(zhǎng)度的作用及影響

    這篇文章主要介紹了基于ArrayList初始化長(zhǎng)度的作用及影響,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 新手初學(xué)Java-Map

    新手初學(xué)Java-Map

    Map簡(jiǎn)介:將鍵映射到值的對(duì)象。一個(gè)映射不能包含重復(fù)的鍵;每個(gè)鍵最多只能映射到一個(gè)值。此接口取代 Dictionary 類(lèi),后者完全是一個(gè)抽象類(lèi),而不是一個(gè)接口
    2021-07-07

最新評(píng)論

锡林郭勒盟| 土默特右旗| 拉萨市| 曲沃县| 柘城县| 静海县| 康平县| 承德市| 新竹市| 双牌县| 大埔区| 凌云县| 甘肃省| 镇坪县| 郯城县| 鹤壁市| 南昌县| 分宜县| 射阳县| 翼城县| 隆安县| 武安市| 郸城县| 麦盖提县| 富民县| 江西省| 大洼县| 个旧市| 塔河县| 岳池县| 新营市| 鲁甸县| 大名县| 邵武市| 鄂温| 麻江县| 苏尼特左旗| 江北区| 瓦房店市| 湖南省| 成安县|