idea2021.2搭建spring-framework-5.0.x环境

Spring源码的学习对于开发者来说挺重要的,学习源码的过程中,最基本的当然还是环境搭建,要不谈源码学习就是瞎扯,本次搭建搭建spring-framework-5.0.x环境踩得坑挺多,记录下来以供各位参考,

一、gradle搭建

这个玩意儿以前确实没用过,此处省略一大堆这个玩意儿是干什么的,之前用的都是maven,但是Spring源码用的就是这个,所以老老实实的搭建吧,我用的是gradle-4.4.1,为啥用这个版本?我也不知道,因为看Spring源码中用的是这个版本,所以我就用这个版本了,

去访问官网:Gradle | Releases​​​​​

进去以后就是长这样的,看看你进去对了吗?

往下扒拉扒拉,找下我刚刚说的那个版本,

点这个complete,然后等待下载好,

下载好是这个名字哈,不要纠结为啥跟spring源码中指定的那个版本不一致,这个用就对了,找一个地方给它解压了, 配置下环境变量

GRADLE_HOME  D:\Java\Gradle\gradle-4.4.1这个是我的位置,具体到各位就自己复制自己的路径,

PATH里面也加一下哈

%GRADLE_HOME%\bin

环境变量配置好以后去我们解压的这个文件夹创建下一个文件

 文件名为 init.gradle

文件内容是下面

Gradle_repository是我们设置的gradle仓库,其他的直接复制就对了,记得创建一个自己的gradle仓库,类似于maven的仓库

allprojects {
    repositories {
        maven { url 'file:///D:/Java/Gradle/Gradle_repository'}
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
        maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }
        mavenCentral()
    }

    buildscript { 
        repositories { 
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
            maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

查看gradle是否安装成功,win+r  cmd 打开这个cmd窗口,执行gradle -v ,有返回就是没有问题的。

打开我们的idea,打开setting找到gradle配置

模仿上图,给设置好,具体为什么设置成这样也不解释了,基本设置的值都是gradle解压的位置

关于gradle的配置,暂且先到这里了。

二、下载源码

源码的下载没有啥差别,本次我看的是Spring

访问Spring官网,下载源码Spring Framework

 然后下载,这个下载自己看哪个方便,我是直接下载压缩包的,可能有的是通过链接下载的,

下载好了自己去找一个地方给解压了

三、编译Spring源码

通过idea打开我们的Spring 源码,这会儿可能遇到的问题比较多,要是暴躁了建议ctrl+a,delete

先找到Spring源码的build.gradle文件添加阿里云的仓库,

maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/spring' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin' }

添加好了,然后点击下这个小圈圈

等着idea帮我们构建,注意构建成功的话会有左边的蓝色小方块

然后开始点击Build->build project

注意,我的Spring源码部分模块在build过程中会出现一个关于Kotlin报错

这个只针对于Kotlin还会报错的读者,一直会报版本不一致的问题我目前是用这个解决的。如果没有kotlin版本问题的话,忽略下面几张图片。

Kotlin: Language version 1.1 is no longer supported; please, use version 1.3 or greater.

这个地方我看了网上,有各种各样的解释,我这边的处理方式为

打开idea的Setting选项,搜索 Kotlin Compiler,然后设置成要求的版本

(补充:在后续测试Spring过程中,可能还会报错,根据网上的结果结合我本人的尝试,目前放上我的处理办法)

配置文件的这个地方的kotlin 版本改一下,然后

就接着上面的设置这个kotlin版本的编译:

 

每一个都展开,设置成use project settings  

注意,这个只针对于还会报错的读者,一直会报版本不一致的问题我目前是用这个解决的。如果没有kotlin版本问题的话,忽略上面的步骤。

 要是没报这个错误更好,环境搭建过程中各种奇怪的问题总是会让人烦躁,建议ctrl+a,delete,

然后build过程中会有找不到符号的错误,这个问题出现的原因网上太多了,本篇文章是不解释原因的,只讲解决方法哈

Error:(30, 41) java: 找不到符号
  符号: 类 DefaultNamingPolicy
Error:(34, 9) java: 方法不会覆盖或实现超类型的方法
Error:(20, 50) java: 程序包org.springframework.objenesis.instantiator不存在
Error:(21, 46) java: 程序包org.springframework.objenesis.strategy不存在
Error:(22, 46) java: 程序包org.springframework.objenesis.strategy不存在

打开此电脑,打开这个Spring源码项目所在的目录,然后执行cmd命令

gradle objenesisRepackJar

执行好了后执行

gradle cglibRepackJar

中间有可能构建失败了,没事,多来几次就成功了

错误截图,不知道是不是因为空格的原因?或者其他的,我这边是多试了几次就好了

接着build->build project

一般会出先第二个问题

org.springframework.oxm.jaxb.test不存在

 这样一般这个问题是解决了

然后最终版,开始集成 aspectj

点击build->build project 然后会报错

Error:(43, 53) java: 找不到符号
  符号:   变量 AnnotationCacheAspect
  位置: 类 org.springframework.cache.aspectj.AspectJCachingConfiguration
Error:(44, 16) java: 找不到符号
  符号:   类 AnnotationAsyncExecutionAspect
  位置: 类 org.springframework.scheduling.aspectj.AspectJAsyncConfiguration
Error:(45, 17) java: 找不到符号
  符号:   类 AnnotationAsyncExecutionAspect
  位置: 类 org.springframework.scheduling.aspectj.AspectJAsyncConfiguration
Error:(45, 62) java: 找不到符号
  符号:   变量 AnnotationAsyncExecutionAspect
  位置: 类 org.springframework.scheduling.aspectj.AspectJAsyncConfiguration

这个是因为没有集成 aspectj,去官网上下载个这个

AspectJ Downloads | The Eclipse Foundation

找个文件夹把它放进去,然后进那个文件夹的cmd

执行java -jar aspectj-1.9.5.jar

然后就会弹出来个安装窗口,一直next就好了

安装好后打开我们的idea,这个地方可能会有一个坑,

可能有的小伙伴的Facets中没有这个AspectJ选项,这个地方挺坑的,需要去idea的插件市场去下载AspectJ插件,然后安装才会有这个选项,这个问题我看网上几乎都没有答复,但是如果idea是刚安装的可能就会有这个问题

言归正传,选则这个

选中  spring.spring-aop.main,添加这个Aspectj,最后的效果图如下

接下来配置AspectJ编译

打开settting

好了,基本的环境总算是搭建好了,接下来点击下build->build project,一般情况下是不会再有报错了,可以愉快的学习源码了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值