Spring源码深度解析学习笔记(一) 环境准备

版本管理工具

        SourceTree

        个人觉得SourceTree比GitHubDesktop好用,集成了gitHubDesktop的所有功能,而且还可以方便的查看Tag标签,也集成了git指令模式,我就安利一下了。

        下载地址:https://www.sourcetreeapp.com/

源码地址

        https://github.com/spring-projects/spring-framework

        早期是挂在SVN上,现在托管在GitHub。

源码构建工具:Gradle-4.8

        现在已经是基于Gradle构建项目,取代了原来的Ant+Ivy系统。

        安装完毕Gradle后需要配置环境变量,通过cmd敲击指令 gradle -version 检验是否安装成功。

IDE工具:eclipse-4.7.3

        目前是最新的,新增集成了jdk9和10,不过我用的是jdk1.8。该版本的eclipse需要至少JDK1.8才可以运行。

下载Spring源码:


导入eclipse:

        可能用到的指令或url:

        gradle cleanidea eclipse:将源码编译生成eclipse可以直接运行的工程。

        gradle cglibRepackJar:编译生成spring项目缺失的spring-cglib-repack.jar包。

        gradle objenesisRepackJar:编译生成spring项目缺失的spring-objenesis-repack.jar包。

        http://dist.springsource.org/snapshot/GRECLIPSE/e4.7 :解决groovy相关java错误的问题。


        由于Spring源码无法直接导入eclipse中,需要先编译,这里通过Gradle工具编译。首先通过cmd进入Spring源码目录中


        然后通过指令gradle cleanidea eclipse分别编译各个Spring的子项目,不推荐直接在Spring-framework目录下编译,这样速度很慢,好处是不用一个个敲指令。 然后就可以导入eclipse中,不过不是所有项目都需要导入,只导入核心几个项目,保证项目无缺失关联项目的错误即可。接下来处理几个后续常见的错误。

常见错误:

        1.缺少jar包:

   在导入完所有Spring项目后,会发现还是有错误,比如缺少spring-cglib-repackspring-objenesis-repack这两个jar包。

        解决办法:

        进入Spring-Framework源码的目录中,输入指令gradle cglibRepackJargradle objenesisRepackJar这两个指令自动生成缺失的两类jar包。然后在eclipse中clean下项目即可。这时候应该还有个错误,莫慌。

    

        2.GroovyBeanDefinitionReader.java报错。

         这是由于eclipse缺少groovy相关插件导致,只要安装相关插件即可。

        解决办法:

        打开Help-->Install New Software,

        输入网址:http://dist.springsource.org/snapshot/GRECLIPSE/e4.7,注意最后的e4.7与eclipse的版本相对应,我的eclipse版本是4.7.3,所以选择e4.7版本。三个选项都勾选,并取消勾选下面的Contact all updates...,防止下载速度过慢导致超时错误,然后就是下一步再下一步了。



重新clean项目后,可能会继续报错,groovy 编译版本不对的错误。这时候右击项目Build path-->Configure Build Path..-->Groovy Compiler修改版本。


        3.最新的源码master分支上,可能存在部分代码用jdk10编译,所以需要更换jvm,这个要么等GitHub的大佬更新代码,要么只能换成最新版本的jdk,要么将错误的代码注释了。        


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值