spring源码编译笔记

下载源码

地址https://github.com/spring-projects/spring-framework/tree/v5.2.9.RELEASE
在这里插入图片描述

查看gradle对应版本

spring-framework-5.2.9.RELEASE/gradle/wrapper/gradle-wrapper.properties

# 其他配置暂未了解具体用处,一切默认值
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#默认通过网络从https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip地址进行下载,可以下载后放到spring-framework-5.2.9.RELEASE/gradle/wrapper/下,避免因为网络导致下载失败
#distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
distributionUrl=gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

请添加图片描述

进行gradle电脑本地化配置

# 源码解压后目录 spring-framework-5.2.9.RELEASE 中执行命令
sh gradlew

不知道为什么出现下面的问题,百度得到的答案是注释掉依赖

FAILURE: Build failed with an exception.* Where:
Build file '/***/spring-framework-5.2.9.RELEASE/build.gradle' line: 3* What went wrong:
Plugin [id: 'io.spring.gradle-enterprise-conventions', version: '0.0.2'] was not found in any of the following sources:- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'io.spring.gradle-enterprise-conventions:io.spring.gradle-enterprise-conventions.gradle.plugin:0.0.2')Searched in the following repositories:Gradle Central Plugin Repositorymaven(https://repo.spring.io/plugins-release)* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 3s

执行成功

> Task :helpWelcome to Gradle 5.6.4.To run a build, run gradlew <task> ...To see a list of available tasks, run gradlew tasksTo see a list of command-line options, run gradlew --helpTo see more detail about a task, run gradlew help --task <task>For troubleshooting, visit https://help.gradle.orgBUILD SUCCESSFUL in 4s
1 actionable task: 1 executed

导入idea步骤

根据spring-framework-5.2.9.RELEASE/import-into-idea.md中目录操作
请添加图片描述

  1. 使用 ./gradlew :spring-oxm:compileTestJava 命令编译 spring-oxm

    spring-framework-5.2.9.RELEASE % ./gradlew :spring-oxm:compileTestJava> Task :spring-oxm:genJaxb
    [ant:javac] : warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [ant:javac] 警告: [options] 未与 -source 8 一起设置引导类路径
    [ant:javac] 1 个警告BUILD SUCCESSFUL in 6s
    40 actionable tasks: 22 executed, 18 from cache
    
  2. 将项目到入idea中

    File -> New -> Project from Existing sources
    请添加图片描述

选中spring-framework-5.2.9.RELEASE/build.gradle

请添加图片描述

idea配置gradle信息

Use Gradle from :Specified location 使用本地的gradle配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtM6h7EQ-1688043530376)(spring-framework-5.2.9.RELEASE%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91.assets/image-20230629195345193.png)]

错误解决

Kotlin: warnings found and -Weeror specified

使用如下强制措施,关闭Kotlin的-Weeror校验,删除-Weeror。

请添加图片描述
java: 找不到符号
符号: 变量 CoroutinesUtils
位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

	// 引入依赖compile(project(":kotlin-coroutines"))

配置国内Maven镜像

// /***/spring-framework-5.2.9.RELEASE/build.gradle	
repositories {mavenCentral()maven { url "https://repo.spring.io/libs-spring-framework-build" }maven { url "https://repo.spring.io/snapshot" } // Reactormaven { url 'https://maven.aliyun.com/nexus/content/groups/public/'} //阿里云maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1141.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法工程师提升工作效率的5个小工具

算法工程师在日常工作中大部分时间还是在和数据打交道。 诸如数据准备&#xff0c;数据清洗&#xff0c;特征分析(EDA) 等等。 这里给大家介绍我非常喜爱的5个处理数据的小工具&#xff0c; 也是我个人使用比较高频的几个工具&#xff0c;相信可以解决大家的一些痛点。 1&#…

企业邮箱如何将一个用户设置到多个部门/群组

1、使用管理员账号postmaster登录企业邮局&#xff0c;点击“邮局管理”。 2、点击“组织与成员”。 3、勾选需要设置的用户&#xff0c;点击“设置所属部门/群”。&#xff08;例如&#xff1a;我们需要将所属销售分公司的高阳&#xff0c;加入到以下四个分销部中&#xff0c;…

实录分享 | Alluxio Operator一体化部署方案

今天给大家分享的内容是 Alluxio Operator的一体化部署方案。我会将内容分成 4 个部分来给大家讲解。 首先&#xff0c;介绍 Kubernetes 容器化部署和当前所面临的挑战。 然后&#xff0c;引入operator的概念&#xff0c;介绍当前业界关于Kubernetes 容器化部署问题的主流解决…

HTTP超详细教程

1&#xff0c;HTTP协议 1.1&#xff0c;HTTP简述 HTTP全称为超文本传输协议&#xff0c;是一种应用比较广泛的应用层协议。 那何为超文本&#xff1f; 超文本指的是传输的内容不仅仅是文本&#xff0c;比如 html&#xff0c;css&#xff0c;javaScript 等数据&#xff0c;还…

聚观早报|菜鸟推出自营快递菜鸟速递;字节迈出大模型赛道第一步

今日要闻&#xff1a;菜鸟推出自营快递「菜鸟速递」&#xff1b;字节迈出大模型赛道第一步&#xff1b;多所高校宣布将停用微信支付&#xff1b;沃尔沃宣布将接入特斯拉超级充电网络&#xff1b;TikTok将在美推出在线零售商店 菜鸟推出自营快递「菜鸟速递」 6 月 28 日消息&am…

信号链噪声分析3

目录 概要 整体架构流程 技术名词解释 技术细节 3.计算每个信号链模块的等效噪声带宽(ENB) 4.计算各个模块在信 号链输出端的噪声贡献 增益模块 信号滤波器 ADC 驱动放大器电阻 驱动放大器 RC 滤波器 小结 概要 提示&#xff1a;这里可以添加技术概要 本文介绍对高速宽带宽信号…

计算机组成原理(期末或考研备考)-计算机性能指标(字长,主存容量,吞吐量,主频和时钟周期)

字长&#xff1a;字长是指计算机进行一次整数运算所能处理的二进制数据的位数&#xff0c;通常与CPU寄存器大小相同&#xff0c;因为数据进入到CPU之前会放入寄存器中。 主存大小&#xff1a;通常使用字数字长&#xff0c;例如512K*16位就表示共有512K个存储单元&#xff0c;每…

VSCode编译器环境下,调试3d-tiles-validator

VSCode编译器环境下&#xff0c;调试3d-tiles-validator 1. 源代码环境准备2. VsCode环境装备3. 调试 1. 源代码环境准备 参照3d-tiles-validator仓库的README.md文件 Clone the repository into the current directory:git clone https://github.com/CesiumGS/3d-tiles-vali…

手势识别系统Python,基于卷积神经网络算法

一、介绍 手势识别系统&#xff0c;使用Python作为主要开发语言&#xff0c;基于深度学习TensorFlow框架&#xff0c;搭建卷积神经网络算法。并通过对数据集进行训练&#xff0c;最后得到一个识别精度较高的模型。并基于Django框架&#xff0c;开发网页端操作平台&#xff0c;…

Kubernetes(k8s)容器编排数据存储

目录 1 什么是数据卷1.1 存储卷概述1.2 存储卷类型1.2.1 非持久性存储1.2.2 网络连接性存储1.2.3 分布式存储1.2.4 云端存储 2 emptydir2.1 使用场景2.2 使用示例2.2.1 案例说明2.2.2 创建资源清单2.2.3 创建deploy2.2.4 访问测试 2.3 测试存储卷2.3.1 登录sidecar2.3.2 登录ng…

如何获取科技项目验收测试报告,有什么作用?

科技项目验收测试报告是科技项目验收的重要文件&#xff0c;它对项目的开发过程和测试结果进行了全面的总结和评估。获取科技项目验收测试报告可以帮助项目组了解项目的测试情况和可靠性&#xff0c;从而对项目的质量进行评估和提升。本文将介绍如何获取科技项目验收测试报告&a…

《从零开始编写一个直播服务器》音视频封装FLV

流媒体服务系列文章 文章目录 流媒体服务系列文章前言一、FLV 封装格式解析二、实例分析总结 前言 一、FLV 封装格式解析 flv header flv body flv header previous size0 tag1 previous size1 tag2 … prvious sizen tagn1 flv header previous size0 tag1 header ta…