Java教程

使用idea和gradle编译spring5.1.x源码,绝对有效

本文主要是介绍使用idea和gradle编译spring5.1.x源码,绝对有效,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用idea和gradle编译spring5.1.x源码

版本工具:spring5.1.x,gradle-5.6.3,jdk-11.0.7,IntelliJ IDEA 2021.1.3

1、下载gradle

gradle下载地址:https://services.gradle.org/distributions/

在这里插入图片描述

下载gradle-bin

2、配置环境变量

解压到指定目录:

在这里插入图片描述

在这里插入图片描述
双击Path,新建bin目录,Win11环境,最好不要用%GRADLE_HOME%\bin,会出问题,直接用路径即可。

配置好环境变量后,输入win+r,输入cmd进入到dos界面,键入gradle -v,若输出正确的版本信息就说明成功了。

在这里插入图片描述

3、配置gradle本地仓库

新增GRADLE_USER_HOME,指定本地路径。

在这里插入图片描述

4、下载spring源码

在https://github.com/搜索spring

在这里插入图片描述

找到spring-projects

在这里插入图片描述

找到main,选择5.1.x版本。

在这里插入图片描述

下载压缩包:

在这里插入图片描述

解压到指定目录:

在这里插入图片描述

5、将spring源码导入到idea

File==>New==>Project from Existing Sources…

在这里插入图片描述

检查项目Gradle项目版本:

File==>Project Structure… 或者 Ctrl + Alt + Shift + S

在这里插入图片描述

在这里插入图片描述

设置Gradle

在这里插入图片描述

设置本地Gradle和JVM版本。

把 Generate *.impl files for modules imported from Gradle勾上

在这里插入图片描述

修改gradle配置为https://services.gradle.org/distributions/gradle-5.6.3-bin.zip:

在这里插入图片描述

点击按键,同步一下:

在这里插入图片描述

然后进入,漫长的等待中…

build完后。

6、编译spring-core 和 spring-oxm

Gradle==>spring-core==>Tasks==>other==>compileTestJava 双击:

在这里插入图片描述

编译成功:

在这里插入图片描述

Gradle==>spring-oxm==>Tasks==>other==>compileTestJava 双击:

在这里插入图片描述

编译spring-oxm时会报一个log4j-slf4j-impl-2.11.2.jar 找不到的错误。

修改build.gradle,加上以下内容:

maven { url "https://repo.maven.apache.org/maven2"}
maven { url "https://repo1.maven.org/maven2"}

在这里插入图片描述

打开链接:https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/

把以下文件下载到本地maven目录下:

在这里插入图片描述

在这里插入图片描述
也可以来这里下载 :
https://download.csdn.net/download/liaoze2010/20190365

编译成功:

在这里插入图片描述

7、测试一下,源码是否编译成功

添加模块:new->model->gradle–>输入模块名称

在这里插入图片描述

选择Gradle

在这里插入图片描述

选择spring,输入模块名称:

在这里插入图片描述

添加项目依赖:

在这里插入图片描述

dependencies {
    compile(project(":spring-context"))
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}

刷新,同步一下:

在这里插入图片描述

把包路径建好,随意搞几个类:在这里插入图片描述

UserEntity:

package com.lz.entity;

public class UserEntity {

   private String id;

   private String name;

   public String getId() {
      return id;
   }

   public void setId(String id) {
      this.id = id;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

UserService:

package com.lz.service;

public interface UserService {

   UserService queryUser(String id);
}

UserServiceImpl:

package com.lz.service.impl;


import com.lz.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

	public UserService queryUser(String id) {
		System.out.println("queryUser====>张三");
		return null;
	}
}

AppTest:

package com.lz.test;

import com.lz.service.UserService;
import com.lz.service.impl.UserServiceImpl;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;


@Configuration
@ComponentScan("com.lz")
public class AppTest {
   public static void main(String[] args) {
      AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppTest.class);

      UserService bean = context.getBean(UserService.class);
      bean.queryUser("1");


   }
}

在这里插入图片描述

成功!!!

在这里插入图片描述
源码已上传,没成功的朋友可以直接下载使用:
https://download.csdn.net/download/liaoze2010/20190271

这篇关于使用idea和gradle编译spring5.1.x源码,绝对有效的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!