个人随笔
Spring源码分析:源码阅读环境搭建血泪史(一)
2020-09-24 18:29:04

摘要:Spring源码解析,Spring源码导入Eclipse
搞了这么就Java开发,用了无数次Spring,之前看源码都是直接在eclipse上按住crtl建鼠标点击进去看的,并没有真正的把Spring源码拉下来,直接在上面看和备注。昨晚下定决心试试,觉得应该很简单,百度大把,然后按百度的流程如下。

1、下载Spring源码

这里下载的是比较稳定的Spring3.x版本
下载链接:https://github.com/spring-projects/spring-framework/tree/3.2.x

当然你也可以选择你喜欢的版本,比如4.x,5.x什么的。

2、下载gradle插件

此时并不能直接导入eclipse,因为这些项目还没进行编译,需要通过gradle进行编译后才能被eclipse所识别,所以在此之前必须安装好gradle插件

下载链接:https://downloads.gradle-dn.com/distributions/gradle-3.0-bin.zip

当然你也可以百度下下载别的版本。

按maven的方式,将gradle加入到环境变量中(话说这些简单的就不截图演示了)。

3、编译Spring

安装完gradle插件后,通过cmd进入到指定的项目根目录下执行 gradle cleanidea eclipse(比如我想编译spring-core,我的项目位置在E:/spring/spring-core,则需要进入到E:/spring/spring-core下执行 gradle cleanidea eclipse,如果在E:/spring 这个目录下执行的话会把所有的spring模块都进行编译)。

接下来就是血泪新酸的过程了,狂爆类似下面的错误

  1. FAILURE: Build failed with an exception.
  2. * What went wrong:
  3. Execution failed for task ':spring-orm:eclipseClasspath'.
  4. > Could not resolve all dependencies for configuration ':spring-orm:compile'.
  5. > Could not resolve org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0.1.
  6. Required by:
  7. org.springframework:spring-orm:3.2.19.BUILD-SNAPSHOT > org.apache.openjpa:openjpa:1.1.0
  8. > Could not resolve org.apache.geronimo.specs:geronimo-jms_1.1_spec:1.0.1.
  9. > Could not parse POM https://repo.spring.io/libs-release/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.pom
  10. > Could not find org.apache.geronimo.specs:specs:1.1.
  11. * Try:
  12. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

然后百度说要改什么文件,试过了也不行!
然后百度说要换Spring版本,我把它换成4.x和5.x也不行!
然后百度说要换gradle的版本,我下了下面三个版本,也不行!
https://downloads.gradle-dn.com/distributions/gradle-3.5-bin.zip
https://downloads.gradle-dn.com/distributions/gradle-4.9-bin.zip
https://downloads.gradle-dn.com/distributions/gradle-4.9-all.zip

慢慢,本来网络就垃圾,时间到了晚上12点,百度看到有一个人说他用Spring3.x,然后gradle-4.9-all.zip来成功了!
我开心的下载了一波,等了十几二十分钟才下载完,试了下,他喵还是不行!

直接放弃!

what the hell!

我知道,一切的根源都是因为版本冲突环境的问题,但是我真的找不到适合的版本!

只能带着无奈和彷徨去睡觉!

时间到达了,第二天,突然之间想到,我下载的Spring里面不是有一个文件:import-into-eclipse.bat么
这个是Spring自己推荐的方式,会用推荐的gradle版本,应该会OK把,赶忙下载了一个Spring4.x ,双击该文件(linux对应的是import-into-eclipse.sh)
,天哪,太感动了,终于出现了如下代码:

  1. :spring-websocket:eclipseJdtPrepare
  2. :spring-websocket:eclipseJdt
  3. :spring-websocket:eclipseProject
  4. :spring-websocket:eclipseSettings
  5. :spring-websocket:eclipseWstComponent
  6. :spring-websocket:eclipse
  7. BUILD SUCCESSFUL
  8. Total time: 1 hrs 30 mins 18.11 secs

话说,晚上回家用3.x试了下,也不行!果然是千难万难!


—————-手动分割线———————

4、将要分析的项目到入到eclipse

第三步执行完后,我们就可以把所有项目都导入到eclipse啦,因为我的是4.x,所以这里要记得把eclipse的jdk改为1.8,不然到时候要一个个改。

缺少groovy插件,当你Import整个文件夹的时候,会提醒你Groovy要安装,直接点击安装即可,当然也可以手动安装在eclipse的 Help -> Install New Software 中,添加groovy的下载连接:http://dist.springsource.org/milestone/GRECLIPSE/e4.4/

5.总结

在此spring的源码就导入成功了,就可以对spring的源码进行学习,在整个过程中,可以会遇到各种各样的情况,所以需要耐心等待以及解决。

 63

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2