spring5.3.x源码构建
spring 5.3.x源碼構建
一、fork spring倉庫
把spring的倉庫導入到自己的gitee倉庫中,拉去速度更快。下面是我自己的倉庫地址
拉取出5.3.x版本的spring源碼
git clone -b 5.3.x https://gitee.com/haijun1998/spring-framework.git
二、安裝gralde
根據編譯spring版本來決定使用什么版本的gradle。查看源碼下 \gradle\wrapper\gradle-wrapper.properties 中需要什么版本
下載好gradle-7.2版本,配置環境變量
防止spring每次編譯都去下載gradle安裝包,將distributionUrl改成本地文件路徑
在設置里面設置成自己的gradle位置,不然idea每次都會使用gradle-wrapper路徑下面的文件進行構建,也就是每次都會去下載包,然后在gradle_user_home下面創建一個wrapper文件,并且安裝一個額外的gradle
三、編譯spring
導入spring源碼到idea中,加入依賴
buildscript { repositories { maven { url "https://repo.spring.io/plugins-release" } } } repositories {//新增以下2個阿里云鏡像 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插件庫 maven { url "https://repo.spring.io/plugins-release" } }設置項目sdk版本
找到spring-oxm以及spring-core下的compileTestjava進行編譯
編譯成功后,編譯整個工程,spring>build>build
四、創建新的子模塊
引入依賴
注意如果使用compiler() 進行引入模塊可能會失敗,改為api() 進行引入
再次編譯spring項目,成功后運行測試代碼
@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,內容注釋掉,風格檢查
五、異常問題
下面是搜尋到會出現的問題
六、模塊說明
總結
以上是生活随笔為你收集整理的spring5.3.x源码构建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别闹了,费曼先生
- 下一篇: StorageManager