欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

idea和gradle编译源码

程序员文章站 2022-07-12 11:54:55
...

前言

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

步骤:

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

  • 直接下载bin压缩包即可
    idea和gradle编译源码
  • 下载网站:https://services.gradle.org/distributions/
  • 下载链接

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

  1. 右击此电脑选择属性
    idea和gradle编译源码
  2. 进入高级系统设置
    idea和gradle编译源码
  3. 进入环境变量
    idea和gradle编译源码
  4. 在系统变量中选择path并进入
    idea和gradle编译源码
  5. 点击新建并将路径复制
    idea和gradle编译源码
  6. 检验安装是否成功
    • 在命令行输入gradle -v即可
      idea和gradle编译源码

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

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

  • 下载链接

  • 选择spring-framework版本
    idea和gradle编译源码

  • 下载
    idea和gradle编译源码

在idea中打开spring-framework文件

  1. 打开IEDA,选择open
    idea和gradle编译源码
    2.选择解压后的spring-framework文件后
    idea和gradle编译源码
  2. 接下来是一个漫长的等待过程
    idea和gradle编译源码
  3. 下载结束后,编译文件,点击Build -> Build Project
    idea和gradle编译源码
  4. 由于缺少2个jar包,所以编译会出错
    idea和gradle编译源码
  5. 解决方法
  • 点击idea右侧的gradle
    idea和gradle编译源码
  • 找到cglibRepackJar和objenesisRepackJar,然后点击
    idea和gradle编译源码
  1. 然后在重新编译,步骤4操作,如果出现Aspect这类错误,可忽略。

测试环境是否成功

  1. 创建一个Module
  • 第一步
    idea和gradle编译源码
  • 第二步
    idea和gradle编译源码
  • 第三步
    idea和gradle编译源码
  • 然后就一直往下就行
  1. 创完后会有这样一个目录
    idea和gradle编译源码
  2. 在build.fradle中导入spring核心包
    idea和gradle编译源码
  3. 创建一个包,和两个类
    idea和gradle编译源码
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方法
idea和gradle编译源码

大功告成!!!!!!!

相关标签: spring源码编译