Spring源码编译-for mac

这篇具有很好参考价值的文章主要介绍了Spring源码编译-for mac。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

超详细的spring源码编译
记:编译成功时间:2023.08.19
环境准备:
1.idea 2023.1.1 Community Edition
2.jdk1.8
3.gradlegradle-5.6.4
4.spring源码(版本:spring-framework-v5.2.25.RELEASE)

一.spring源码下载

github 加速网站,速度快,有条件的可以去github下载。

https://gitcode.net/mirrors/spring-projects/spring-framework?utm_source=csdn_github_accelerator

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

二、gradle的安装

(说明:将源码包解压以后,gradleWraper中的gradle可以远程下载gradle,也就是在spring-framework-5.2.12.RELEASE\gradle\wrapper\gradle-wrapper.properties有相应的体现。但是我没有使用远程下载,因为自己尝试了好几次,都会失败,所以自己在本地安装了一个gradle。上教程。)

gradle的下载
选择版本很重要,千万不要随意去选择一个版本,要不然后面可能会出很多的问题。版本参考spring-framework-v5.2.25.RELEASE\gradle\wrapper\gradle-wrapper.properties文件中的相应版本,如下图:

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

gradle下载链接:

https://gradle.org/releases/

(选择对应的binary-only版本就行)

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

gradle配置参考:

https://www.cnblogs.com/vitoboy/p/12487648.html

三.修改spring源码中的一些地方

1.因为我们自己配置了gradle,所以需要修改gradle\wrapper\gradle-wrapper.properties文件内容,让它使用我们自己配置的gradle,要不然它还是会去远程下载。
原文件是这样:

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java
将distributionUrl修改成我们自己的gradle压缩包路径,如下图:

distributionUrl=file\:///Users/eistert/Documents/do_not_delete/gradle-5.6.4-bin.zip

2.同样在build.gradle文件中找到repositories部分,添加阿里云镜像,这样编译会更快,如下图:
Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
maven { url "http://repo.springsource.org/plugins-release" }

3.找到settings.gradle文件并打开,同样找到找到repositories部分,添加下面代码

maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

五.将源码导入idea

1.直接使用idea打开源码那个文件夹就行
2.如果导入进去后就开始编译了,就需要暂停编译,需要修改一些配置,要不然他还是会去远程下载gradle,我们自己本地的就无效。

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java
对这个配置有个比较重要的地方说明一下:Build and run using 和 Run tests using这两个选项不要使用默认的,选择idea来进行编译会快很多(我测试过了,快了不是一点点,是很多)

3.然后就可以点击下方的build开始编译了,如下图
Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java
最后如果全是绿勾勾说明编译成功。

六.测试

创建测试gradle module.

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

package com.eistert.spring.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.eistert.spring.test")
public class EistertSpringTestApplication {

	public static void main(String[] args) {

		ApplicationContext context = new AnnotationConfigApplicationContext(EistertSpringTestApplication.class);
		UserServiceImpl bean = context.getBean(UserServiceImpl.class);
		bean.sayHello();
	}
}

package com.eistert.spring.test;

import org.springframework.stereotype.Service;


@Service
public class UserServiceImpl {
	public void sayHello() {
		System.out.println("你好呀spring!");
	}
}



理论上应该出现

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

但实际出现的是

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java
Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java

百度了一下是 Kotlin 版本过低的问题,于是升了一下Kotlin版本

Spring源码编译-for mac,Spring #Boot #Cloud #Alibaba,spring,macos,java
还是老样子,先这样吧。将就着看吧,问题真多。。。。。

参考文章

spring源码编译(spring,gradle,idea)
https://blog.csdn.net/qq_45750556/article/details/113244361

Spring 源码阅读环境的搭建
https://zhuanlan.zhihu.com/p/315023187

mac环境安装Gradle及配置
https://www.cnblogs.com/vitoboy/p/12487648.html文章来源地址https://www.toymoban.com/news/detail-672003.html

到了这里,关于Spring源码编译-for mac的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Spring Boot、Spring Cloud、Spring Alibaba 版本对照关系及稳定兼容版本

    Spring Boot、Spring Cloud、Spring Alibaba 版本对照关系及稳定兼容版本

    在 Java 生态系统中,Spring Boot、Spring Cloud 和 Spring Alibaba 是非常流行的框架,它们提供了丰富的功能和优雅的解决方案。然而,随着不断的发展和更新,这些框架的版本关系可能会变得复杂,特别是在整合和兼容性方面。本文将以表格形式列出这三个框架的版本对照关系,并提

    2024年02月14日
    浏览(46)
  • 【Spring Boot 3】整合nacos + Dubbo3 的Spring cloud Alibaba项目

    【Spring Boot 3】整合nacos + Dubbo3 的Spring cloud Alibaba项目

    在springboot3不再兼容jdk8的时候,随之而来的便是各种框架不兼容引发的bug,虽然各位框架的开发大佬在加班加点的更新适配,但能够创建一个适用并且不报错的项目依旧是一件耗时耗力的事情。 我们都知道在String Cloud项目中默认使用Feign组件进行服务间的通信,REST API的调用

    2024年03月22日
    浏览(20)
  • 《深入浅出Spring Boot 3.x》已经交稿,目前在编写《Spring Cloud Alibaba微服务实践》

    最近基于《深入浅出Spring Boot 2.x》升级为《深入浅出Spring Boot 3.x》已经完成,预计明年春节后可以出版,我先贴出目录给大家看看。以后希望大家多多支持。 第1章   Spring Boot 3.x的来临 1.1  Spring的历史 1.2  Spring Boot的特点 1.3 Spring和Spring Boot的关系 1.4 开发Spring Boot工程 第2章

    2024年02月09日
    浏览(9)
  • 【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解

    【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解

    【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战 【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战 书接上文,我们掌握了Feign的基本使用、核心原理,以及Spring Cloud Alibaba如何快速整合Feign,真的太简单了!你是不是觉得这样就够了?但在实际项目使用OpenF

    2024年02月20日
    浏览(13)
  • Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及与各中间件集成

    Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及与各中间件集成

    目录 前言 源码地址 官方中文文档 使用版本 spring Spring Boot 3.1.0 中间件 使用到的组件与功能 环境安装 虚拟机 nexus nacos 集成过程 工程搭建 父工程搭建 子工程 服务集成 nacos集成 配置文件 服务注册与发现-discovery 服务注册 启动 服务发现 测试 配置管理-config 新增配置  测试

    2024年02月07日
    浏览(17)
  • Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及与各中间件集成
Sleuth+Zipkin集成分布式链路追踪

    Spring Cloud Alibaba 最新版本(基于Spring Boot 3.1.0)整合完整使用及与各中间件集成 Sleuth+Zipkin集成分布式链路追踪

    目录 前言 源码地址 官方中文文档 使用版本 spring Spring Boot 3.1.0 中间件 使用到的组件与功能 环境安装 虚拟机 nexus nacos 集成过程 工程搭建 父工程搭建 子工程 服务集成 nacos集成 配置文件 服务注册与发现-discovery 服务注册 启动 服务发现 测试 配置管理-config 新增配置  测试

    2024年02月12日
    浏览(43)
  • 19套项目实战系列--Spring Cloud Spring Boot(整套源码)

    整套大型项目源码,需要的回复私信:19 ┃ ┃ ┃ ┣━1-3 项目微服务架构图【课前必知】.vep ┃ ┃ ┃ ┣━1-4 项目技术架构图【课前必知】.vep ┃ ┃ ┃ ┣━10-1 接口解耦需求【章节概述】.vep ┃ ┃ ┃ ┣━10-12 实现文章的定时延迟发布【延迟队列】.vep ┃ ┃ ┃ ┣━10-2 Rabb

    2024年02月15日
    浏览(11)
  • 企业电子招标采购系统源码java 版本 Spring Cloud + Spring Boot

    企业电子招标采购系统源码java 版本 Spring Cloud + Spring Boot

       项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化

    2024年02月11日
    浏览(43)
  • 【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程

    JDK 1.8+ Maven 3.6+ Spring Boot 2.2.4.RELEASE Spring Cloud Hoxton.SR1 Spring Cloud Alibaba 2.2.0.RELEASE 官网推荐对应版本 本文主要介绍了如何搭建一个 Spring Cloud Alibaba 项目,适合已经熟练使用 Spring Boot ,想要学习搭建 Spring Cloud Alibaba 项目的小伙伴。 Spring Cloud Alibaba 为分布式应用程序开发提供了

    2023年04月18日
    浏览(8)
  • 企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui

    企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui

      项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化

    2024年02月10日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包