日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring5源码 - 构建源码环境

發布時間:2025/3/21 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring5源码 - 构建源码环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 開發環境
  • git clone 源碼
  • gradle調整 [可選]
    • gradle離線安裝
    • gradle中央倉庫地址調整
  • 執行 gradlew.bat
  • 導入到IEDA
    • gradlew :spring-oxm:compileTestJava
    • 導入到IDEA
    • 編譯和 運行Testst設置為 IntelliJ IDEA (建議)
  • 測試驗證
    • 新建子模塊
    • 添加依賴
    • 編寫代碼 加載Bean測試
    • 運行測試
  • Gradle 下載的依賴包存儲的位置
  • 問題
  • 其他可參考


開發環境

IDEA 2020.2.1 + OpenJDK8U-jdk_x64_windows_hotspot_8u265b01 + gradle-6.5.1-bin.zip

遵循官方指導文檔


git clone 源碼

源碼地址: https://github.com/spring-projects/spring-framework


copy地址,待會要用

這里我將放到了 D:\workspace

打開 git bash ,執行如下命令 git clone https://github.com/spring-projects/spring-framework.git

等一會即可,如下所示

官方指導手冊

https://github.com/spring-projects/spring-framework/wiki/Build-from-Source


gradle調整 [可選]

gradle離線安裝

打開 D:\workspace\spring-framework\gradle\wrapper\gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists

gradle會去 distributionUrl對應的地址下載gradle壓縮包,如果網絡不好的話,可以提前現在好一個離線包

修改 distributionUrl,如下

distributionUrl=file\:///D\:/Soft/gradle-6.5.1-bin.zip

安裝目錄: windows系統默認GRADLE_USER_HOME 為 c:\Users\用戶\.gradle


gradle中央倉庫地址調整

國內環境的話,建議調整一下gradle的中央倉庫。

找到 build.gradle

打開 285行 添加阿里云地址

maven {url 'https://maven.aliyun.com/nexus/content/groups/public/'} maven {url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

執行 gradlew.bat

windows環境下 gradlew.bat 就是我們需要執行的腳本

第一次要下載好多依賴,速度取決于你的網速,如果失敗的話,多執行幾次,基本都是可以成功的。


導入到IEDA

https://github.com/spring-projects/spring-framework/blob/master/import-into-idea.md

根據提示來操作即可

Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle) When prompted exclude the spring-aspects module (or after the import via File-> Project Structure -> Modules) Code away

gradlew :spring-oxm:compileTestJava

第一步 gradlew :spring-oxm:compileTestJava


導入到IDEA

選擇你拉取的spring源碼,方式選擇build.gradle

等待index完成,需要下載jar包 ,不是很快(我用了好幾次,耗時好幾個小時),如果期間出錯,多試幾次。

點擊刷新按鈕,如上所示,基本可以認定為構建成功。


編譯和 運行Testst設置為 IntelliJ IDEA (建議)

編譯完成后建議 將編譯和 運行Testst設置為 IntelliJ IDEA , 默認的Gradle特別慢。

C:/Users/artisan/.gradle/wrapper/dists/gradle-6.5.1-bin/b4shxvjcpfsjxpjuxxiaa7cyh/gradle-6.5.1

這個地方選OPEN JDK11 會有問題,請見問題記錄


測試驗證

新建子模塊


選擇 gradle

隨便建立一個子module的名稱

添加依賴

compile(project(":spring-context"))


編寫代碼 加載Bean測試

package com.artisan;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;@Configuration @ComponentScan("com.artisan") public class AppConfig { } package com.artisan;import org.springframework.stereotype.Component;@Component public class ArtisanService { } package com.artisan;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class ArtisanTest {public static void main(String[] args) {AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);ArtisanService bean = ac.getBean(ArtisanService.class);System.out.println(bean.getClass().getName());} }

運行測試

至此,spring5.1.x的源碼編譯導入idea就算完成了。


Gradle 下載的依賴包存儲的位置

Windows系統默認下載到:C:\Users\(用戶名)\.gradle\caches\modules-2\files-2.1
Mac系統默認下載到:/Users/(用戶名)/.gradle/caches/modules-2/files-2.1


問題

D:\workspace\spring-framework\spring-core\src\main\java\org\springframework\core\metrics\jfr\FlightRecorderStartupEvent.java:19:15 java: 程序包jdk.jfr不存在

最開始使用的OpenJDK jdk-11.0.8.10-hotspot 更換JDK為 OpenJDK8U-jdk_x64_windows_hotspot_8u265b01

【1】gradle JVM

【2】 項目編譯環境 的JDK

重新編譯,即可解決。

參考子路老師的博客 ,https://blog.csdn.net/java_lyvee/article/details/107300648 ,感謝大佬分享。


其他可參考

https://www.yuque.com/docs/share/17a9d955-2153-4113-8bbb-79c35e274ed0?#

總結

以上是生活随笔為你收集整理的Spring5源码 - 构建源码环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。