天天看點

idea 建立spring clound 項目_手把手教你spring源碼搭建

Spiring源碼搭建

1.1 gradle安裝

  • 官網下載下傳:https://gradle.org/install/; 加速版:https://services.gradle.org/distributions/
  • 添加

    GRADLE_HOME

    環境變量,指向Gradle解壓目錄;
  • 配置Path環境變量:

    %GRADLE_HOME%bin

  • 打開指令行 輸入指令:

    gradle -v

    ,顯示版本号等資訊說明配置成功;
先不要下載下傳安裝,看後面,耐心看完本節所有内容再想要不要全局安裝;

1.2 下載下傳源碼

github: https://github.com/spring-projects/spring-framework

知識追尋者下載下傳的是spring源碼5.0版本, gradle 6.5.1, jdk1.8;

由于github下載下傳網速很慢,可以登陸碼雲進行folk一份github的spring源碼到自己倉庫下載下傳會很快,如果你比較懶,知識追尋者也找到一個倉庫如下;

https://gitee.com/mirrors/Spring-Framework

1.3導入 IDEA

  1. 打開 IDEA
  2. 選擇Improt Project,指向spring源碼目錄;
  3. Improt Project from Existing Sources ;
  4. 選擇 build.gradle;
  5. 配置gradle建構(如果不想全局配置這步省略,打開工程後會自動下載下傳gradle)
idea 建立spring clound 項目_手把手教你spring源碼搭建
注意

:idea 需要配置 gradle 關閉 offline 模式 ;由于2019版本在setting中無法找到 而是在右側的視圖中;

idea 建立spring clound 項目_手把手教你spring源碼搭建

1.4 源碼編譯

有的小夥伴會下錯gradle版本,那真是卡幾天都無法解決的是,源碼編譯無法通過,直接放棄啊,知識追尋者也卡了一會,看官方說明才知道咋回事;

方式一

在源碼項目的目前目錄指令行輸入如下指令會自動下載下傳gradle, 直接将連結複制出來使用迅雷下載下傳,然後配置gradle,在 右側gradle視圖中找到spring-oxm項目的compileTestJava輕按兩下即可;
idea 建立spring clound 項目_手把手教你spring源碼搭建
gradlew :spring-oxm:compileTestJava
           
方式二

也可以不配置本地全局gradle,你網絡好就直接在

指令行

中使用如上指令,idea會自動進行局部配置;

耐心等待一段時間進行源碼編譯;然後再用idea打開工程,建構成功如下

idea 建立spring clound 項目_手把手教你spring源碼搭建

1.5替換倉庫

工程目錄下找到

build.gradle

;在如下代碼中添加一行 阿裡倉庫,提升下載下傳依賴速度;

repositories {
            mavenCentral()
            maven { url "https://repo.spring.io/libs-spring-framework-build" }
            maven { url "https://repo.spring.io/snapshot" } // Reactor and RSocket
        }
           

阿裡雲倉庫

maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
           

1.6 去除 spring-aspect 加載

如果加載到後面發現 spring-aspect 子產品依賴報錯,

第一種方案 直接點選該工程 右鍵 -> unload module,或者使用 exclude module 排除子產品;

第二種方案:安裝 aspect需要手動安裝

https://www.eclipse.org/aspectj/downloads.php

關于 安裝請看下面連結,因為知識追尋者這邊沒報錯;

https://blog.csdn.net/a704397849/article/details/102754505

1.7 建立gradle測試工程

File–>New–>Modul–>Gradle–>Java–>Next

idea 建立spring clound 項目_手把手教你spring源碼搭建

打開測試工程的build.gradle檔案添加 依賴 beas 和 context;

dependencies {
    compile(project(":spring-beans"))
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
           

建立使用者實體

public class SysUser {
​
    private String username;
​
    private String password;
​
    public SysUser() {
    }
​
    public SysUser(String username, String password) {
        this.username = username;
        this.password = password;
    }
    // 省略set/get  toString
}   
           

建立配置類

/**
 * @Author lsc
 * <p> </p>
 */
@Configuration
public class SysConfig {
​
    @Bean
    public SysUser sysUser(){
        return new SysUser("zszxz","123");
    }
}
           

建立主類測試

/**
 * @Author lsc
 * <p> </p>
 */
public class ZszxzMain {
​
    public static void main(String[] args) {
        // 擷取容器
        ApplicationContext ac =new AnnotationConfigApplicationContext(SysConfig.class);
        // 擷取 bean
        SysUser user = (SysUser) ac.getBean("sysUser");
        System.out.println(user.toString());
    }
}
           

build 一下 測試工程,然後執行主類,一般情況下會報錯看後續内容

1.8 去除風格校驗

如果報代碼格式錯誤,找到 src 下checkstyle裡面checkstyle.xml檔案 ,去除掉 裡面的風格校驗;

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="com.puppycrawl.tools.checkstyle.Checker">
</module>
​
           

1.9 kotlin報錯

如果 kotlin 1.3 版本太低,無法支援新的文法,找到 idea 的kotlin 語言配置,更新到 1.4;知識追尋者編譯第一次編譯出現這種問題,第二次沒有;很魔幻的事情,建議大家不要使用idea 2019.2 版本,坑比較大;

重點: 網速很重要,如果連wifi不建議進行編譯,知識追尋者親測用wifi發了2天沒搞定!!!後來換了寬帶非常快;

1.20 核心包編譯出錯

如果spring-core 核心包下 jrf 包(org.springframework.core.metrics.jfr)裡面的類出錯一種辦法直接注釋掉出錯類,

第二種:可能是jdk不相容,更換jdk;

1.20 編譯成功

如果最後沒報錯,并且主類執行成功輸出如下;

> Task :zszxz-test:ZszxzTest.main()
SysUser{username='zszxz', password='123'}