Idea 2018.3 编译spring5源码

环境准备

1、spring源码版本:spring-framework-5.1.x;
2、gradle版本:gradle-5.4;
3、jdk版本:1.8.0_112;
4、IntelliJ IDEA版本:2018-03;
5、os 版本 : windows 10;

部分相关链接地址

1、阿里云仓库:https://maven.aliyun.com/repository/spring-plugin
2、gradle下载地址:https://services.gradle.org/distributions/
3、spring5.1.x源码下载:https://github.com/search?q=spring-framework&type=

开启building模式

1、因为spring项目是由gradle构建,所以我们先下载gradle,直接官网下载就好,推荐下载4.2以上的版本。不然会发生很多莫名其妙的问题,我这里直接下载的5.4的版本。
在这里插入图片描述
2、配置gradle环境变量,过程类似jdk环境变量配置,小白可自行百度,最终出现如下效果,即OK。
在这里插入图片描述
3、去官网下载spring源码,克隆下来。这个步骤是个程序员,基本都会。就不在细说在这里插入图片描述
4、idea 做gradle相关的配置。如下图
相关的内存参数配制。: -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m
在这里插入图片描述

将spring5.0.x源码导入IDEA

1、源码导入方式:然后选择gradle 选择源码地址就好
在这里插入图片描述
2、将repositories maven的地址改为:https://maven.aliyun.com/repository/spring-plugin
在这里插入图片描述
3、修改jar包的版本。因为可能在阿里云的仓库 会找不到这几个地址:

在这里插入图片描述
4、先将其注释掉,不编译它,避免一些第三方依赖影响我们的进度
在这里插入图片描述

等待idea build完成 。拼网速的时候到了。

可能需要十多分钟 才能构建完成。其中会遇到一些问题!
如下,这个就是jdk版本的问题。你可能需要更换 jdk的版本

在这里插入图片描述
2、No such property: values for class: org.gradle.api.internal.tasks.DefaultTaskDependency 的问题。需要将文中最后三行替换为:
def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues compileGroovy.dependsOn = deps - "compileJava" compileKotlin.dependsOn(compileGroovy) compileKotlin.classpath += files(compileGroovy.destinationDir)

在这里插入图片描述
3、系统编译完成以后 可能还会出现,这种红色的报错信息!
在这里插入图片描述
4、我们需要找到 报错项目下的jar 将它先注释掉即可
在这里插入图片描述
5、若还有其他的 红色错误。方法也是一样的。我们先把它注释掉。先构建完成再说

当项目构建完成之后,便可开始编译,直接在moudle中Run All Tests即可

在这里插入图片描述
如果出现依赖报错。只需要执行以下命令,就会自动下载jar包。
在这里插入图片描述

测试我们编译好的spring源码构建spring项目是否可用

编译spring 源码,因为spring是互相依赖。所以我们只用编译context就可以了。先执行clean 然后在build就OK了。
在这里插入图片描述

选中项目。右键,新建一个module 然后选中gradle构建出一个模块。
在这里插入图片描述
2、在gradle的配置文件中 引入如下依赖:
添加compile project(":spring-context")

在这里插入图片描述

创建测试代码类,如下图

在这里插入图片描述

1.Test.java文件
/**
 * 测试spring源码编译结果是否可用
 */
public class Test {
	public static void main(String[] args) {
		AnnotationConfigApplicationContext ac
				= new AnnotationConfigApplicationContext(AppConfig.class);
		UserDao userDao = ac.getBean(UserDao.class);
		userDao.printInfo();
	}
}

2.UserDao.java文件
@Repository
public class UserDao {
	public void printInfo(){
		System.out.println("创建Spring项目成功啦阿拉阿拉!!!!!!!!");
	}

}


3.AppConfig.java

@Configuration
@ComponentScan("com.dao")
public class AppConfig {
}

执行测试代码啊 输出如下!
在这里插入图片描述

Sprng 5.0源码下载

贡献给,实在遇到太多问题。无法完成编译的童鞋!小编也是呕心沥血 经历了 一天才终于编译好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值