记一次spring5源码完整编译过程

spring5.1.x源码编译 gradle包,读取gradle-wrapper.properties 文件,distributionUrl参数远程下载。6、gradle包,读取gradle-wrapper.properties 文件, distributionUrl 修改。user gradle from 这个有三个选项,我选择的是第三个,本地gradle位置。5、修改gradle 配置,如图 gradle user home 这个是本地仓库。1、gradle下载不下来,可以选择手动通过ali 镜像下载。8、最后,可以愉快的编译了。 阅读详情

学习java已有3年之久,spring一直停留在应用阶段,两次面试阿里的经历让我深感学习spring源码的重要性,废话不多说,开搞!

1、环境:

jdk1.8+spring5+gradle4.7+eclipse4.6

如果要参考该教程,环境最好一样(eclipse除外),因为以前编译过spring3,由于环境问题折腾了好久

2、检测jdk版本java -version

由于此次编译的是spring5,jdk版本不能太低

2、下载spring源码

spring源码托管在github上:https://github.com/spring-projects/spring-framework(还没安装git的同学是时候学习一下了,不过此次编译可以不依赖git)

下载下来解压:

3、安装gradle(一款基于Groovy的构建工具,比maven更简洁)

传送门:https://gradle.org/releases/

选择4.7版本下载

设置环境变量:

新建用户变量GRADLE_HOME,值为gradle的安装目录,我的安装目录如下:

设置环境变量:

检测gradle是否安装成功:

出现上图说明安装成功

4、将spring工程转换成eclipse可识别的工程

进入spring的解压目录,执行下面命令:

gradle cleanidea eclipse

(网上普遍反应这个步骤会报错,反正我是一次通过,以前编译spring3的时候在这里的确折腾了很久)

此时直接导入eclipse spring-core工程会报错缺少jar包:spring-cglib-repack-x.x.x.jar、spring-objenesis-repack-x.x.jar

要在spring的解压目录下执行下面这两个命令:

gradle objenesisRepackJar

gradle cglibRepackJar

5.此时你可以把spring工程导入到eclipse了

先导入spring-jcl,不然spring-core会报错(这些工程之间的依赖关系自己去摸索吧)

6、解决spring-bean工程的代码报错

缺少groovy插件,

安装groovy插件:

在eclipse的 Help -> Install New Software 中,添加groovy的下载连接:

http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/(这里最后的e4.6代表你eclipse的版本别搞错了,不然安装不成功别找我)

这个安装groovy插件话说有点坑,开了vpn速度也提不上去,哪位老铁有好的方法烦请告知一声哈

7、安装groovy插件后会报一个groovy编译版本的错误,spring5用的是2.5的编译版本,而我们下载的groovy默认是2.6版本,查看groovy编译版本方式:windows->perferences->groovy

我已经改好了,注意这里不要想当然的选下面的Switch to试图切换编译版本,本人亲测行不通,不过可以用下面的方式:

Help->Install New Software

找到安装的groovy的插件(我的已经删了卸载了2.6和2.4版本的了):

原本有2.4、2.5和2.6三个编译版本,我们把2.4和2.6的给卸载了(选中2.4和2.6点击下面的Uninstall按钮),然后重启eclipse

8、解决spring-oxm报错问题(缺少castor和jax)

在spring的解压目录下执行下面命令

1.gradle genCastor

2.gradle genJaxb

然后去spring-oxm/build/classes下面看看,如果已生成jar包则应该不会再报错(记得clean一下)

不过我这里有些奇怪,执行上面两条命令后竟然生成的是解压后的文件,如果你也一样的话,还要继续以下步骤:

在classes目录下分别执行下面两条命令(自己打jar包):

jar cvf jaxb.jar jaxb\org

jar cvf castor.jar castor\org

然后回到eclipse,右键spring-oxm->build Path:

在Libraries中把原本的castor和jaxb删除,然后再重新导入我们手动打的jar包

到此为止,spring5的源码导入算是成功了:

如果按照此教程还有什么问题可以提出来一起看下

 

Spring5源码编译及构建实战指南 Spring WebFlux是Spring5中引入的一个全新的响应式Web框架,用于构建基于Reactive Streams规范的应用。WebFlux提供了一套简洁的API来处理HTTP请求和响应,并且可以运行在Netty、Undertow或Servlet 3.1+容器上。WebFlux的一个核心优势是其非阻塞的特性。它可以在有限的线程上处理成千上万的并发连接,这在传统同步阻塞模型中是很难实现的。非阻塞和异步处理不仅提高了应用的性能,还减少了资源的消耗。 阅读详情

相关推荐

超简单spring5源码编译(IDEA)

下载spring5.x 国内直接在GitHub下载会很慢,所以这里我通过码云来下载 1、首先在github搜索spring-framework 选择版本并复制链接 2、注册码云,创建新库,导入已有仓库,粘贴复制的链接,创建完成就可以在码云直接下载,速度贼快 本地安装Gradle,这个网上有教程很简单 Gradle下载链接 我下载的是4.10.3版本 开始编译 1、解压spring5.x源码, 编译之前如下配置依赖下载地址 用记事本打开build.gradle 修改repository,注意里面有两个repository,都要改 repositories { maven{ url

java 编译源码,java 源码编译

Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把*.java文件转变成*.class文件的过程;也可能是虚拟机的后端运行期编译器(JIT)把字节码转变成机器码的过程;还可能是指静态提前编译器(AOT编译器)直接把*.java文件编译成本地机器码的过程。Javac编译器Javac编译器不像HotSpot虚拟机那样使用C++语言实现...

weixin_36282765的博客 620

deepfake detection数据集

最全Deepfake数据集总结,包含各个数据集下载链接: https://github.com/deepfakeinthewild/deepfake_in_the_wild Dataset name Download Generate method Deepfake videos Actors Deepfake-TIMIT low download De...

where_is_horse的博客 1万+

通过idea编译运行Spring5源码

1.准备工作 1.1 各版本展示 Idea 2018.3.6 jdk 1.8.0_231 Gradle 4.7 spring-framework 5.0 1.2 spring-framework下载 下载地址:https://github.com/spring-projects/spring-framework/tree/5.0.x,本次选择5.0版本,下载完成解压后待用。 1.3 gradle下载 下载地址:https://services.g...

li11359713的博客 1065

工业相机图像格式深度解析:从Mono8到Mono12的选型与应用

本文深度解析工业相机黑白图像格式,重点对比Mono8、Mono10与Mono12的核心差异。文章从位深、动态范围和数据量等关键概念切入,详细阐述了不同格式的优缺点及适用场景,为工业视觉项目中的相机选型提供实战指南,帮助用户在精度、速度与成本间做出最优决策。

weixin_29207439的博客 263

防雷防浪涌电路设计

通信线路或者电源线路通常会铺设到户外,一旦线路铺到户外后,就需要考虑防雷的问题了,那么怎么设计保护电路,能够防止雷电等浪涌对电路的破坏呢?

manhuami2007的博客 1万+

spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.3.1 ] 一. Gradle下载与安装 二. 下载spring源码 GitHub 搜索springframework 版本号 5.1.x 三. idea导入spring源码 build.gradle repositories { maven { url “https://maven.aliyun.com/repository/spring-plugin” } maven { url “https://

chuanchengdabing的博客 5469

STM32F103C8T6最小系统板GPIO配置避坑指南:从原理图到流水灯一次成功

本文详细介绍了STM32F103C8T6最小系统板GPIO配置的实战指南,从硬件准备到流水灯实现,涵盖了九大关键步骤。特别针对新手常见问题,如GPIO配置、开发环境搭建和程序下载调试,提供了详细的解决方案和避坑技巧,帮助开发者快速掌握STM32开发基础。

weixin_33756596的博客 341

使用idea和gradle编译spring5源码

b,spring-aspects需要依赖三方jar(精通aop的应该知道spring-aop和aspectj的关系,在使用注解方式实现spring-aop的时候,需要导入aspectj的jar,有兴趣的可以去查阅下官方文档aop相关文档),这里编译可能会报错,不影响我们编译使用,我们先不处理。注意-注意-注意:小编曾经猜过的坑,jdk版本,不能太高,我曾经使用jdk1.8_20和jdk1.8_191编译,均会出现版本问题,我后来采用的是,jdk1.8_131版本,即可成功。...

m0_67402125的博客 640

DRAM知识整理系列(三):部分时序参数整理

一、tCL-tRCD-tRP-tRAS(第一时序) 内存是根据行和列寻址的,当请求触发后,最初是tRAS(Active to precharge Delay),预充电后,内存才真正开始初始化RAS(Row Address Strobe)。一旦tRAS激活后,RAS开始进行需要数据的寻址。首先是行地址,然后初始化tRCD(RAS to CAS Delay),周期结束,接着通过CAS(Column Address Strobe)访问所需数据的十六进制地址。其中,从CAS开始到CAS结束,就是CAS延迟(即t

不吃鱼的猫的博客 7万+

ABB机器人与S7-1200PLC实现位置坐标数据发送和接收的具体方法

ABB机器人与S7-1200PLC实现位置坐标数据发送和接收的具体方法

Robot_PLC_HMI_Automation 2918

用IDEA编译spring5的源码

由于spring5是使用gradle进行编译,有些地方可能我们不够熟悉,下面介绍下用IDEA编译spring5源码。 如果有哪些问题欢迎给我留言,我看到的话会及时帮你解决。 这里附上我编译好的代码下载链接: =>下载链接提取码:leur 一、 环境及准备工作: 1.环境: spring源码5.1 JDK_1.8.0_221 gradle-5.6.1-all IDEA...

Evan's Blog ٩(๑❛ᴗ❛๑)۶ 995

OpenRubrics:自动化评估工具优化LLM对齐效果

在大型语言模型(LLM)应用中,模型输出与人类价值观的对齐是关键挑战。传统人工反馈强化学习(RLHF)依赖大量标注,成本高且一致性差。OpenRubrics作为开源工具,通过结构化准则实现自动化评估,显著提升效率。其核心原理是将主观评价转化为可量化的多维指标,支持动态权重调整,并兼容主流RLHF框架。该工具在降低标注成本的同时,通过Fleiss' Kappa系数等指标保证评估一致性,适用于多语言和医疗等专业领域,为LLM对齐提供了工程化解决方案。

weixin_28730037的博客 360

Java Spring编译_记一次spring5源码的完整编译过程

学习java已有3年之久,spring一直停留在应用阶段,两次面试阿里的经历让我深感学习spring源码的重要性,废话不多说,开搞!1、环境:jdk1.8+spring5+gradle4.7+eclipse4.6如果要参考该教程,环境最好一样(eclipse除外),因为以前编译过spring3,由于环境问题折腾了好久。2、检测jdk版本java -version 由于此次编译的是spring5,j...

weixin_42515377的博客 236

多摄像头场景下 ISP 的同步与调度机制实战解析

在智能手机多摄系统中,主摄、广角、长焦、微距等摄像头的协同工作能力直接决定了影像系统的体验上限。而支撑这一能力的核心之一,正是 ISP 的同步与调度机制。ISP 需要处理多个 Sensor 的输入流、统一时序、资源仲裁、并发调度,并支持在不同模式间快速切换(如预览 → 拍照 → 视频)。本文将基于 Qualcomm、MTK、HiSilicon 平台的实际架构,系统性剖析 ISP 在多摄场景下的时序控制、Pipeline 配置、Buffer 管理与故障恢复机制,并分享实战中的典型问题与调试方案。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2351

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

eclipse怎么导入jar包重新编译_记一次spring5源码的完整编译过程

学习java已有3年之久,spring一直停留在应用阶段,两次面试阿里的经历让我深感学习spring源码的重要性,废话不多说,开搞!1、环境:jdk1.8+spring5+gradle4.7+eclipse4.6如果要参考该教程,环境最好一样(eclipse除外),因为以前编译过spring3,由于环境问题折腾了好久。2、检测jdk版本java -version由于此次编译的是sprin...

weixin_29341747的博客 1136

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

记一次spring源码编译的血泪史

编译一次spring源码 下载Spring github地址:spring-framework 选择分支下载最新的源码 Gradle编译 下载 gradle地址:https://gradle.org/releases/ 提示:下载binary-only即只带bin的包,由于 配置环境变量 可自行百度 开始编译 推荐博客:https://blog.youkuaiyun.com/bskfnvjtlyzmv867...

yu_kang的博客 8056

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Spring5源码编译

Spring5源码编译写在前面工具版本gradle下载Spring5源码下载使用idea构建Spring5源码 写在前面 相信很多人都编译过spring的源码,我这边也编译过程以及踩过的坑分享一下。 工具版本 IntelliJ IDEA 2018,spring5.0.x,gradle4,9,jdk1.8_131 gradle下载 gradle可以去官网下载,地址:https://services....

zhangkai19910815的博客 2779

Spring5源码构建编译完整过程

1.搭建构建前环境 JDK  安装JDK就不用介绍了,保证是jdk1.8以上的版本就行了。 Gradle  直接在官网下载gradle构建工具,解压到本地后配置环境变量。增加系统变量GRADLE_HOME=gradle的路径,增加path=%GRADLE_HOME%\bin idea工具  使用Int...

830

spring源码一次成功的编译及错误记录

spring官方github上的源码是gradle编译的。记录一下成功编译的路程并且记录一些坑。 版本工具:spring5.1.3x ,gradle4.9,jdk1.8.0_201,Intellij IDEA 1,首先需要安装gradle,安装的版本如果是5*以上的版本,后面编译会出现“Could not find property ‘classesDir’ on source set main...

talentLLL的博客 3722

Spring5.x源码编译及导入IDEA全过程及踩坑记录

文章目录1.写在前面2.编译前需要准备的环境和工具。3.具体步骤4.总结 1.写在前面 Spring作为风靡世界的优秀框架,很早就想研究研究Spring源码了。最近亲手搭建了Spring环境,从下载源码到编译到改动源码测试demo跑通,有些踩坑和心得需要记录一下,也与大家分享一下。 注:笔者在2台不同电脑上均告成功,但是也不敢保证各位看官一定能成功,如果失败请轻拍砖。不过相信对各位编译Spring...

疯狂的暴走蜗牛的专栏 7746

使用idea和gradle编译spring5.1源码 + 使用已编译的spring源码构建spring项目

写在最前面,最近想学习spring,但是又不想只看看博客文档,这样只会知其然而不知其所以然,一些原理的东西即使当时知道了,但很快也会忘掉。所以我决定下载源码,通过写代码+debug,有利于我对spring工作本质有更深入的理解。我这人记忆力不太好,俗话好记性不如烂笔头,我决定记录下来供自己温故,也希望可以帮助一些遇到同样问题的人。 工具版本:spring5.1.5,gradle5.1,jdk1....

Java_Vicky的博客 5514

idea编译Spring5源码的完整过程

环境:mac10.15.7,idea版本2019,JVM1.8,编译Spring5.0.2源码。 目前spring已经出5.3甚至更高版本了,但是要依赖JDK17,我不想搞两个JDK,所以安装Spring5.0.2版本就够了,高级特性以后再说。

纵横千里 捭阖四方 的专栏 921

Spring源码编译过程

版本整理: Spring版本:5.2.0.RELEASE JDK版本:1.8.0_151 IDEA版本:2018.2.3 Gradle:目前不需要安装,在编译完成后根据提示安装对应版本即可 一、Spring源码下载 1.进入Spring官网https://spring.io/,跳转到页面最下方git链接,点击进入github 2.在git中进入Spring-framework仓库 3.选择要下载的Spring分支版本,推荐下载release版本,因为这种版本属于稳定版,我下载的是5.

WhiteEmperor的博客 1057

Spring5源码编译附带源码下载

idea编译Spring5.2.x源码 踩了一天的坑,请大家必须用5.2.x的版本,因为高版本 5.3 对jdk有要求,jdk8已经不行了,需求13。而且5.2.x想编译成功得注意 gradle 的版本,如果版本跟源码的要求不一致,则会编译失败。后面会一一介绍。 文章目录idea编译Spring5.2.x源码前言一、grade下载准备二、grade安装1.grade直接解压2.配置环境变量3. 配置国内镜像三,下载 spring 5.2.x源码 并解压,用idea open打开 ,打开前有个注意事项,大

苦也不苦 1028
上一篇: 全面解析ThreadLocal类
下一篇: java return与finally执行顺序测试
coder_no
博客等级 码龄9年 1粉丝 8原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值