记第一次构建spring-framework源码

令人崩溃前奏操作(错误操作,以此为鉴,请勿模仿):

首先,在github上找到spring-framework项目,地址https://github.com/spring-projects/spring-framework

然后,就很傻很天真的导入idea中了

嗯,你猜的没错,接下来就开始各种gradle构建报错

第一个是gradle版本的错,要求2.0还是什么来着(当时很暴躁也没记录错误信息,问题大概就是这样把),在网上多方查找报错原因,发现本地装了4.7版本,但是在build.gradle文件中指明了gradleVersion = "4.4.1",好的,臣妾就换成4.4.1的吧(虽然网上有说能换成自己的版本,但是为了避免又遇到乱七八糟的错,就没这样操作)

接下来,嗯,很开心的build了一会儿,好,问题又来了,各种资源找不到,资源下载失败,emm,到了放弃的边缘

第二天,再战,翻了个qiang(嘘,有的慌),那资源哗哗的,一路畅通无阻,哇~build成功了,开心的洗洗睡了,打算明天再看

第三天,打开项目,spring-core模块两个文件(SpringObjenesis、SpringNamingPolicy)报错,文件找不到,也确实,文件夹下面没得要用的Objenesis,呵,人类啊,然后,一顿操作自己建了个Objenesis类(不好意思,天真了),报错的地方更多了,spring-beans开始报错了,成功崩溃。。。

第四天,在网上,各种搜啊,搜啊,搜到了说看import-into-idea.md这个文件,看完,照着操作,构建成功,再回头看看,觉得前面的操作可能是个傻子

正确操作(终于到了正文)

1、解压,根目录下import-into-idea.md文件,原文:

    ## Steps

    _Within your locally cloned spring-framework working directory:_

    1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
    2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
    3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
    4. Code away

2、翻译(有道翻译的,毕竟我英语奇差)

在本地克隆的spring-framework工作目录中:
    1. 预编译 spring-oxm 模块命令:./gradlew: spring-oxm: compileTestJava
    2. 导入IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
    3. 当提示时,排除“spring-aspects”模块(或导入后通过文件->项目结构->模块)
    4. 可在此基础上编写自己的代码了

3、自己列举的注意事项:
    1. 首次构建时需翻墙,否则有些资源会下载失败
    2. 必须先执行预编译命令,否则gradle构建成功后spring-core等模块也会报错(部分文件找不到)
    3. 第三步那个排除“spring-aspects”模块,不晓得啥意思,我移除“spring-aspects”模块后会报错,然后就没移除,可以正常使用

好了,总的来说构建spring源码只需要执行import-into-idea.md文件中的前两步就好了,所以,我前面的几天是在干嘛。。。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值