JAVA-下载并运行Spring源码,超细节,包成功!

简介: JAVA-下载并运行Spring源码,超细节,包成功!

我们看spring源码有两种方式。一,可以在项目中引入spring依赖,进行静态调试。二是下载源码进行调试。博主认为将源码下载下来,写自己的注释快乐滴研究spring的奥秘是一个很棒的主意。

目录

使用工具:

源码下载地址:

流程

选择版本,下载ZIP压缩包

执行命令
解决报错

导入IDEA

更改setting

更改gradle setting

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

使用工具:

IDEA,Gradle

源码下载地址:

spring-framework:

流程

博主使用的版本是spring-framework-5.2.6.RELEASE版本

GitHub - spring-projects/spring-framework: Spring Framework

选择版本,下载ZIP压缩包下载好了之后,我们去下载一下gradle。

为什么要下载使用gradle呢?

Gradle是一个构建工具,如果你学习过maven可以很好的理解,它是用来帮助我们构建app的,构建包括编译、打包等过程。

切换到我们下载好的 spring源码路径下。输入cmd打开命令行窗口

执行命令

gradlew :spring-oxm:compile TestJava,它会开始下载gradle-5.6.4-bin.zip。默认是下载到 C盘用户目录的.gradle下的wrapper里。

C:\Users\aqiu\.gradle\wrapper\dists\gradle-5.6.4-bin\3ha3t4kg1h5a1pycc6apqiwns

解决报错

我们看到上面有一个报错。原因是连不上https://plugins.gradle.org,下载一些依赖的插件失败

解决方案已经放在了另外一篇博客里:JAVA-下载gradlew:报错:Build failed with an exception
解决完后,再次执行命令,将我们的源码build成功后,打开源码路径下的gradle\warpper\gradle-wrapper.properties,


XXX\spring-framework-5.2.6.RELEASE\spring-framework-5.2.6.RELEASE\gradle\wrapper

将路径指为我们的 gradle-5.6.4-bin路径;

最好将我们的源码包给git仓库化,因为build时会报一个小错,博主不知道如果不解决这个错误会不会对代码运行造成影响。

git仓库化步骤:

导入IDEA

没有下载IDEA的朋友可以看博主的博客:双击build.gradle。点击Open as Project。

它的作用和Maven中的pom文件类似。

第一次打开会有些慢,需要等待一会儿。

console里显示build  successful

更改setting

默认是GBK,我们更改字符格式为utf-8

更改gradle setting



将启动环境设置为Gradle以及配置路径和JVM版本
之后我们可以新建的模块和源码中的模块都可以使用Gradle方式运行啦

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。

相关文章
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
15天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
23天前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
23天前
|
JSON Java Maven
实现Java Spring Boot FCM推送教程
本指南介绍了如何在Spring Boot项目中集成Firebase云消息服务(FCM),包括创建项目、添加依赖、配置服务账户密钥、编写推送服务类以及发送消息等步骤,帮助开发者快速实现推送通知功能。
61 2
|
9天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
21 0
|
6月前
|
Java
java面向对象——包+继承+多态(一)-2
java面向对象——包+继承+多态(一)
43 3
|
6月前
|
SQL Java 编译器
java面向对象——包+继承+多态(一)-1
java面向对象——包+继承+多态(一)
39 2
|
存储 Java C语言
Java面向对象进阶5——包和final(含源码阅读)
包在操作系统中其实就是一个文件夹。包是用来分门别类的管理技术,不同的技术类放在不同的包下,方便管理和维护
100 0
Java面向对象进阶5——包和final(含源码阅读)
|
存储 Java
Java SE基础知识详解第[8]期—面向对象进阶(包、权限修饰符、抽象类、接口)
Java SE基础知识详解第[8]期—面向对象进阶(包、权限修饰符、抽象类、接口)
Java SE基础知识详解第[8]期—面向对象进阶(包、权限修饰符、抽象类、接口)