使用idea和gradle编译Spring源码

  • Post author:
  • Post category:其他





前言

最近想进一步了解spring框架的底层代码,所以自己按照网上资料用IEDA和gradle搭建spring源码编译,在这过程中遇到很多的坑,自己花了很长的时间解决,所以我想写这篇博客帮助一些初学者避免不必要的踩坑。



步骤:



1.下载gradle,

注意版本不要太高

,我最开始下的版本过高(gradle-5.2),导致出现一些令人头大的错误。花了很长时间,错误也没有解决,所以我就下了一个gradle-4.1这个版本。

  • 直接下载bin压缩包即可

    在这里插入图片描述
  • 下载网站:https://services.gradle.org/distributions/

  • 下载链接



2.解压gradle安装包,gradle环境变量配置

  1. 右击此电脑选择属性

    在这里插入图片描述
  2. 进入高级系统设置

    在这里插入图片描述
  3. 进入环境变量

    在这里插入图片描述
  4. 在系统变量中选择path并进入

    在这里插入图片描述
  5. 点击新建并将路径复制

    在这里插入图片描述
  6. 检验安装是否成功

    • 在命令行输入gradle -v即可

      在这里插入图片描述



在github上下载spring-framework-5.0.x压缩包

  • 下载网站:https://github.com/spring-projects/spring-framework/tree/5.0.x


  • 下载链接

  • 选择spring-framework版本

    在这里插入图片描述

  • 下载

    在这里插入图片描述



在idea中打开spring-framework文件

  1. 打开IEDA,选择open

    在这里插入图片描述

    2.选择解压后的spring-framework文件后

    在这里插入图片描述
  2. 接下来是一个漫长的等待过程

    在这里插入图片描述
  3. 下载结束后,编译文件,点击Build -> Build Project

    在这里插入图片描述
  4. 由于缺少2个jar包,所以编译会出错

    在这里插入图片描述

  5. 解决方法
  • 点击idea右侧的gradle

    在这里插入图片描述
  • 找到cglibRepackJar和objenesisRepackJar,然后点击

    在这里插入图片描述
  1. 然后在重新编译,步骤4操作,如果出现Aspect这类错误,可忽略。



测试环境是否成功

  1. 创建一个Module
  • 第一步

    在这里插入图片描述
  • 第二步

    在这里插入图片描述
  • 第三步

    在这里插入图片描述
  • 然后就一直往下就行
  1. 创完后会有这样一个目录

    在这里插入图片描述
  2. 在build.fradle中导入spring核心包

    在这里插入图片描述
  3. 创建一个包,和两个类

    在这里插入图片描述
package com;

public class Test {
	public void hello(){
		System.out.println("安装成功");
	}
}

package test;

import com.dao.User;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Test {
	public static void main(String[] args) {
		AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext();
		annotationConfigApplicationContext.register(Test.class);
		annotationConfigApplicationContext.refresh();

		Test test = annotationConfigApplicationContext.getBean(User.class);
		test.hello();
	}
}

5.执行main方法

在这里插入图片描述



大功告成!!!!!!!



版权声明:本文为weixin_43557810原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。