spring5.3.x源码构建
spring 5.3.x源碼構(gòu)建
一、fork spring倉(cāng)庫(kù)
把spring的倉(cāng)庫(kù)導(dǎo)入到自己的gitee倉(cāng)庫(kù)中,拉去速度更快。下面是我自己的倉(cāng)庫(kù)地址
拉取出5.3.x版本的spring源碼
git clone -b 5.3.x https://gitee.com/haijun1998/spring-framework.git
二、安裝gralde
根據(jù)編譯spring版本來(lái)決定使用什么版本的gradle。查看源碼下 \gradle\wrapper\gradle-wrapper.properties 中需要什么版本
下載好gradle-7.2版本,配置環(huán)境變量
防止spring每次編譯都去下載gradle安裝包,將distributionUrl改成本地文件路徑
在設(shè)置里面設(shè)置成自己的gradle位置,不然idea每次都會(huì)使用gradle-wrapper路徑下面的文件進(jìn)行構(gòu)建,也就是每次都會(huì)去下載包,然后在gradle_user_home下面創(chuàng)建一個(gè)wrapper文件,并且安裝一個(gè)額外的gradle
三、編譯spring
導(dǎo)入spring源碼到idea中,加入依賴(lài)
buildscript { repositories { maven { url "https://repo.spring.io/plugins-release" } } } repositories {//新增以下2個(gè)阿里云鏡像 maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' } mavenCentral() maven { url "https://repo.spring.io/libs-spring-framework-build" } maven { url "https://repo.spring.io/milestone" } //新增spring插件庫(kù) maven { url "https://repo.spring.io/plugins-release" } }設(shè)置項(xiàng)目sdk版本
找到spring-oxm以及spring-core下的compileTestjava進(jìn)行編譯
編譯成功后,編譯整個(gè)工程,spring>build>build
四、創(chuàng)建新的子模塊
引入依賴(lài)
注意如果使用compiler() 進(jìn)行引入模塊可能會(huì)失敗,改為api() 進(jìn)行引入
再次編譯spring項(xiàng)目,成功后運(yùn)行測(cè)試代碼
@Configuration public class ApplicationTestDemo {public static void main(String[] args) {System.out.println("hello");AnnotationConfigApplicationContext configApplicationContext = new AnnotationConfigApplicationContext(ApplicationTestDemo.class);A a = configApplicationContext.getBean(A.class);System.out.println(a.name);}@Beanpublic A a(){return new A();}public static class A {public String name = "我是張三啊";}}最后可以去掉spring模塊下面的 src/checkstyle/checkstyle.xml,內(nèi)容注釋掉,風(fēng)格檢查
五、異常問(wèn)題
下面是搜尋到會(huì)出現(xiàn)的問(wèn)題
六、模塊說(shuō)明
總結(jié)
以上是生活随笔為你收集整理的spring5.3.x源码构建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 别闹了,费曼先生
- 下一篇: StorageManager