【Spring源码解析】-1.源码编译

下载源码

  • 下载地址:spring.io->projects->Spring Framework->github spring源码托管
  • 选择tag:找到最新release源码
  • 下载spring 压缩包,并解压

编译源码

  • 进入spring解压包

  • 修改build.gradle文件,将仓库地址改为阿里云

  • gradle依赖仓库

    buildscript {
    	repositories {
    		maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    		maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    	}
    }
    
  • 项目依赖仓库

    configure(allprojects){
    	repositories {
    		maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    		maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
    		mavenCentral()
    		maven { url "https://repo.spring.io/libs-spring-framework-build" }
    	}
    }
    
  • 编译 spring-oxm

    ./gradlew :spring-oxm:compileTestJava
    
  • 将spring源码导入idea

  • 排除spring-aspects

    • 选择spring-aspects模块
    • 右键load/unload-modules
    • 选择spring-aspects,执行unload

测试源码

  • 新建module,spring-demo
  • 引入spring-context依赖
    dependencies {
    	//编译,引入项目project为当前项目模块
        compile(project(":spring-context"))
        }
    
  • 项目中书写service,并在启动类中引入service,通过context上下文成功获取service的bean,表示源码编译成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: "Failed to resolve imported Maven boms: Could not find org.springframework.cloud:spring-cloud-dependencies:2022.0.0-RC2." 这个错误提示是由于无法解析导入的Maven依赖所致。它说明在所搜索的位置中找不到org.springframework.cloud:spring-cloud-dependencies:2022.0.0-RC2的POM文件。你可以尝试通过指定其他可用的仓库来解决这个问题。 引用: 在你新建的spring模块的build.gradle中,添加compile(project(":spring-instrument")),这样可以解决报错"没有target相关的问题"。 引用: 另外,在build.gradle中,你还可以添加如下配置来解决问题:compile(project(":spring-context"))和compile(project(":spring-instrument"))。 对于你的问题 "Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.3",根据提供的信息,你遇到了无法解析org.springframework.boot:spring-boot-gradle-plugin:3.1.3的问题。这可能是因为该版本的插件在你所使用的仓库中不可用。 为了解决这个问题,你可以尝试以下几种方法: 1. 首先,确认你的项目的Gradle配置文件中是否正确指定了仓库地址,并且该仓库中包含了所需的插件。你可以查看你的build.gradle文件,并确保仓库地址正确。 2. 如果确认仓库地址正确无误,你可以尝试更新Gradle版本或者切换到其他可用版本的插件,以查看是否有可用的spring-boot-gradle-plugin插件。 3. 如果以上方法都没有解决问题,你可以尝试手动下载并安装所需的插件。你可以在Maven仓库或其他可靠的资源库中搜索并下载org.springframework.boot:spring-boot-gradle-plugin:3.1.3,然后使用本地路径指定插件位置。 希望这些方法能够帮助你解决问题。如果问题仍然存在,请提供更多详细的错误信息或上下文,以便我们能够更好地帮助你解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Gradle编译失败问题汇总](https://blog.csdn.net/u010363836/article/details/128351899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spring源码搭建教程](https://blog.csdn.net/shark_chili3007/article/details/111414731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值