首页 > 编程语言 >【问题记录】【Spring】Spring-framework 源码环境搭建

【问题记录】【Spring】Spring-framework 源码环境搭建

时间:2024-08-17 23:15:43浏览次数:11  
标签:Spring gradle maven framework 源码 https Gradle 下载

1  前言

换了个电脑,这不是得倒腾代码嘛,这Spring 源码还是 Gradle 管理的依赖,平时接触 Gradle 就比较少,这家伙这环境给我整的大半天,最后也算是整好了,把中间遇到的各种问题就下,希望大家少走弯路。

需要用到的地址我先贴出来,有的需要下载的可以先下载下来:

源码:源码下载

Gradle:腾讯各种版本 Gradle 地址 阿里各种版本 Gradle 地址 (都一样的,哪个下载的快就用哪个,当然版本很重要,至于下载哪个版本的,需要看你的源码的 /spring-framework/gradle/wrapper/gradle-wrapper.properties 这个里边就能看到需要的 Gradle版本)

阿里仓库指南:阿里仓库

2  环境准备

2.1  源码下载

地址在上边了,大家选择要下载的版本,我这里的分支是选的:5.0.X

代码下载下来,最初是这样的

2.2  源码文件修改

接下来我们要改一下源码中的仓库,因为不改的话,奶奶的我前几次就没改,下载的那叫一个慢,比老奶奶过马路都慢,下载着还总失败,每次失败的话,还又重新下载一遍,又失败又重新全部下载,我真的是心态还崩的住,真的我下载好几次,每次二十多分钟,失败了几次后,我开始看怎么更换镜像仓库了,我要被干败了,搜了几个都不好使,所以大家这种弯路还是别走了,有的弯路要走的可以看到一些底层,但这种弯路没什么意思,接下来按我说的来。

总共需要改四个文件:

build.gradle、gradle.properties、settings.gradle 这三个是要改仓库信息 加一些配置

gradle-wrapper.properties(这个是在 源码下/gradle/wrapper/gradle-wrapper.properties)这个里边是改 Gradle 的信息 改成本地的

我们先看前三个文件的仓库信息的改变:

2.2.1  build.gradle

搜索 repositories,增加阿里的仓库信息:

repositories {
    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://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}

搜索 configurations.all 注释掉这里:

2.2.2  gradle.properties

增加如下信息:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.caching=true
org.gradle.parallel=true

2.2.3  settings.gradle

增加仓库信息:

pluginManagement {
    repositories {
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
        maven { url "https://maven.aliyun.com/repository/spring-plugin" }
        gradlePluginPortal()
        maven { url 'https://repo.spring.io/plugins-release' }
    }
}

2.2.4  gradle-wrapper.properties

这个文件就涉及到 Gradle 的信息了,需要本地先安装下 Gradle ,可以打开你的文件看看你需要的 Gradle 版本(可以看到我这里的是4.4.1,然后上边有下载的地址,下载对应版本的压缩包下来即可:

比如打开腾讯的 Gradle版本地址,找到你的版本,下载这个 bin.zip结尾的即可:

下载下来可以放到自己的工具文件夹等地方比如我放到了这里(我的各种环境工具都在这里):

压缩包别急着删,把它复制一份到这里

然后改一下 gradle-wrapper.properties 文件里的信息,去掉前边的地址信息,只留文件名:

然后我们的 Gradle 还需要配下环境变量:

# 编辑环境配置
vi ~/.bash_profile
# 加入你的 Gradle 信息
export GRADLE_HOME=/Users/kuku/tool/gradle/gradle-4.4.1
export PATH=$PATH:$GRADLE_HOME/bin
# 生效配置
source ~/.bash_profile

最后验证下 Gradle 配置:

好了,到这里所有的改变就完事了,接下里最好重启下 IDEA,然后我们就差最后的执行了。

2.3  构建

重启完 IDEA,我们打开控制台验证下 Gradle 命令,看看可以了不:

记住先别用 IDEA 的 Gradle构建,千万别用,我们先用 IDEA 的控制台构建一下,因为我怕了,用那玩意之前失败了好多次,我们执行这个:

./gradlew :spring-oxm:compileTestJava

看执行效果,因为我执行过了,所以很快,你执行的话应该是先会下载一些依赖,并且都是从阿里云的仓库下载的还是比较快的,等个三四分钟就构建完了:

最后我们的环境就这样好了:

如果大家的每个 module 还是灰色的话,就可以大胆执行右边的 Gradle 加载所有的 Gradle 工程了,执行完每个模块就黑了:

3  小结

希望对大家有用,有理解不对的地方欢迎指正哈。

标签:Spring,gradle,maven,framework,源码,https,Gradle,下载
From: https://www.cnblogs.com/kukuxjx/p/18365092

相关文章

  • 【Spring Boot】yaml配置注入
    配置文件SpringBoot使用一个全局的配置文件,配置文件名称是固定的applicationapplication.properties语法结构:key=valueapplication.yaml语法结构:key:空格valueapplication.yml语法结构:key:空格value(开发常用)我们可以在配置文件中修改Tomcat默认启......
  • 基于springboot和vue的酒店管理系统设计与实现(源码+lw+部署文档+讲解等)
    文章目录前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证闲鱼玩家,服务很多代码文档,百分百好评,战绩可查!!入职于互联网大厂,可以交流,共同进步。有保障的售后代码参考数据库参考源码获取前言......
  • Spring DI实现方式
    1.set注入语法:1)set方法      2)set配置:<propertynamevauleref>2、构造注入语法:1)构造方法      2)构造配置:<constructor-argnametypeindexvalueref>3、注解注入(1)@Component用于标识一个类为Spring的组件,这个类会被Spring容器管理。......
  • 基于Spring Boot的青年公寓服务平台的设计与实现
    目录一、前言二、技术介绍三、系统实现四、论文参考五、核心代码六、其他案例七、源码获取​​​​​​​作者介绍:✌️大厂全栈码农|毕设实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️作者博客:曾几何时​​​​​​​......
  • 深入理解 Spring 三级缓存:解决单例 Bean 循环依赖的利器
    目录一、什么是循环依赖?二、关于传说中的三级缓存1.基本概念:2.三级缓存是哪三级? 3.【举个例子】那三级缓存是怎么解决上述代码例子中的A、B互相依赖呢?详细过程:(理解用)简约版:(理解后看这个就行)三、关于三级缓存的适用范围适用的循环依赖范围:不适用的循环依赖范围:四、......
  • SpringMVC - 进阶
    1.Controller&RequestMapping@Controller用来标注在类上,表示这个类是一个控制器类,可以用来处理http请求,通常会和@RequestMapping一起使用。这个注解上面有@Component注解,说明被@Controller标注的类会被注册到spring容器中,value属性用来指定这个bean的名称@Target({Element......
  • JSP基于JAVAWEB医院挂号系统jep98(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,医生,护士,科室信息,预约时间段,出诊信息,预约挂号,门诊病历,医生打卡,护士打卡,就诊评价技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技......
  • JSP基于JavaWeb的CRM系统684y6程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:公告信息,部门,职位,用户,客户分组,客户信息,拜访记录,商机信息,订单信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoo......
  • JSP惠民一网通nwzyz--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:户主,新生入证明,迁入户籍,死亡证明,迁出户籍,本地人员流动,外来人员流动,民生业务,评分信息,应急电话开题报告内容一、项目背景随着信息化技术的飞速......
  • springboot自动配置原理
    springboot自动配置原理springboot的出现就是为了简化Spring框架的开发,快速构建java项目。springboot的两个核心特性就是起步依赖和自动配置。起步依赖原理:maven的依赖传递自动配置原理:条件注入、SPI机制起步依赖假如我们没有使用SpringBoot,用的是Spring框架进行web程序的开......