Spring5.2.x+IDEA2019源码环境搭建

本文基于IDEA19,jdk1.8,GradleWapper,来编译的spring5源码

1、首先去github下载源码GitHub - spring-projects/spring-framework: Spring Frameworkhttps://github.com/spring-projects/spring-framework本次下载的5.2.x版本的。推荐大家使用git clone来进行下载,不要使用zip包来进行编译。

 可以避免后续编译过程之中一个git的报错。

org gradle.process.internal.ExecException:Process 'command' git '' finished with non-zero exit value 128 

2、编译前的准备工作,进到源码的根目录。 

   (1)打开build.gradle文件,找到 repositories 标签,修改仓库地址为阿里云的地址,这样编译起来会快很多。

加上如下这2行:

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

如下代码片段所示:

repositories {
            maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
            maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
			mavenCentral()
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
		}

 (2)打开 settings.gradle 文件,找到 pluginManagement 标签,也加上阿里云仓库地址。

加上这行: maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }

如下代码片段所示:

pluginManagement {
	repositories {
		gradlePluginPortal()
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
		maven { url 'https://repo.spring.io/plugins-release' }
	}
}

3、预编译源码。打开spring源码的路径,cmd命令输入

gradlew :spring-oxm:compileTestJava

这一步大概需要5到10分钟吧,视网速的快慢而定。首次编译要先远程下载对应版本的gradle,也会相应的慢点。

出现 BUILD SUCCESSFUL in **s  就表示编译成功。

编译过程常见问题:

    1、如下插件的权限失败问题:

Error resolving plugin [id: 'io.spring.gradle-enterprise-conventions', version: '0.0.2']

 Received status code 401 from server: Unauthorized

原因是 build.gradle 文件之中存在 该插件,阿里云之中没有该版本插件导致的。

 解决办法一:直接注释掉该插件

解决办法二:打开阿里云仓库仓库服务,搜索该插件  

 发现该插件版本是 0.04,所以修改该行版本为 0.04 也可以,如下图所示

4、导入到IEDA之中。File -> open -> 找到源码的根目录,打开即可。

注意:打开以后,ctrl+alt+s,找到如下图所示的gradle配置,确保 Use Gradle from这个选项,选择的是 'gradle-wapper.properties'file这个选项,这样的话,就会使用远程的gradle版本,自己本地的gradle就不会产生异常影响。

然后等待IDEA编译完成即可。

编译完成以后。项目的目录下都有蓝色的小方块,表示编译完成。如下图所示:

 5、新建一个模块进行自测。

在项目的目录,右击,New -> Module

然后选择 gradle

 

点击 Next,设置好对应的Name 即可。也就是ArtifactId

然后,打开刚才新建的项目,打开build.gradle文件,加上如下一行,下图所示位置

compile(project(":spring-context"))

在 src 目录下新建一个package : com.duan.conf

然后新建一个测试bean:Person.java如下所示,使用 @Component 注解修饰。

@Component
public class Person {
	private String name;
	private int age;

	public String getName() {
		return name;
	}

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

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person{" +
				"name='" + name + '\'' +
				", age=" + age +
				'}';
	}
}

然后新建一个测试类  MyConfig.java

@Configuration
@ComponentScan(basePackages = {"com.duan.conf"})
public class MyConfig {
	public static void main(String[] args) {
		ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
		Person person = context.getBean(Person.class);
		person.setName("duanNFF");
		person.setAge(666);
		System.out.println(person);

	}
}

最后运行main方法,可以看到如下结果,则spring源码环境就大功告成了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值