GitHub下载Spring源码,编译成MyEclipse识别的项目

来源:互联网 发布:程序员刷题书籍推荐 编辑:程序博客网 时间:2024/06/05 05:24

前段时间看“Spring源码深度解析”,开始就是去下载Spring源码,于是就开始了我的一步一尴尬的探索旅程。

第一步:下载Spring源码

  1. 登录https://github.com/官网,我是注册了一用户,输入Spring 回车
  2. 进行搜索要下载的源码,修改排序,按Most stars排序,点击你要下载的信息
  3. 进入页面后选择你要下载的分支版本
  4. 按照不同的方式下载源码
    PS:用Open in Desktop 需要安装 GitHub Desktop  工具,我的是Windows版的,下载到指定的目录
  5. 下载好之后就可以看到所有的目录结构了

第二步:编译成MyEclipse识别的项目

  1. 下载jdk1.8,我当时版本是1.7 ,为什么是1.8呢,等下就知道了,
  2. window cmd 到具体的目录 进行编译gradle cleanIdea eclipse
    等待出现BUILD SUCCESSFUL,表示执行成功
  3. 可是事与愿违,出现了与jdk有关的问题,
    FAILURE: Build failed with an exception.* Where:Build file 'E:\javaSourceCode\Spring\spring3.2\spring-framework-myeclipse\build.gradle' line: 67* What went wrong:A problem occurred evaluating root project 'spring'.> java.lang.UnsupportedClassVersionError: io/spring/gradle/propdeps/PropDepsPlugin : Unsupported major.minor version 52.0* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.BUILD FAILED

    没有等来成功,却等来了失败。。。。。
    网上查了一下,是jdk版本比较低:
    参考http://blog.csdn.net/pipisorry/article/details/42965435
    没办法,只有重新配置jdk1.8
    OK,成功,之后继续开始执行,
  4. 重新执行第2步,继续执行gradle cleanIdea eclipse进行编译
    FAILURE: Build failed with an exception.* Where:Build file 'E:\javaSourceCode\Spring\spring3.2\spring-framework-myeclipse\spring-aspects\spring-aspects.gradle' line: 21* What went wrong:A problem occurred evaluating project ':spring-aspects'.> No such property: outputDir for class: org.gradle.api.internal.file.DefaultSourceDirectorySet* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.BUILD FAILED
    MMP  ,又不行,再次百度。

  5. 百度后发现是gradle的版本低,于是将3.5的改成4.2的,
  6. 再次重新执行第2步,继续执行gradle cleanIdea eclipse进行编译,下图代表正在执行编译,

    gradle各版本下载地址:http://services.gradle.org/distributions
    参考http://blog.csdn.net/xiongyouqiang/article/details/78388141?locationNum=4&fps=1
  7. 经过长时间的等待,终于出现想看到的结果了。BUILD SUCCESSFUL
    查看编译过后的文件也变的熟悉了
  8. 由于到这之后还需要再走一步,在spring-oxm目录下执行
    gradle cleanIdea :spring-oxm:compileTestJava
    解决oxm的依赖问题,如果没有执行这步,则会在导入到MyEclipse中遇到下面那些问题。



第三步:导入到MyEclipse中

  1. 导入到MyEclipse中
    在myEclipse中,Package Explorer里右键import
    选择要导入的项目文件,可以选择整个文件包或单个项目

  2. 导入完之后发现出现个红感叹号
  3. 于是我项目名右键Build Path-->Configure Build Path -->Libraries,有两个jar包没引过来。
    spring-core\build\libs\spring-objenesis-repack-2.6.jar
    spring-core\build\libs\spring-cglib-repack-3.2.5.jar
  4. 我就到对应的路径下去找,发现没有build\libs目录
    再次百度。。
  5. 再次百度后,说是可以用Spring的源码中的jar包,从源码中提取出我们所需要的jar,
    我用的是spring-framework-3.0.5.RELEASE-source.zip
    链接:http://pan.baidu.com/s/1miOOgpq 密码:7058
  6. 拿到zip文件后解压,解压之后找到该jar包:spring-framework-3.0.5.RELEASE-source\spring-framework-3.0.5.RELEASE\dist\org.springframework.core-3.0.5.RELEASE.jar
    再次解压该jar包,我现在将org.springframework.core-3.0.5.RELEASE.jar解压到本地E盘根目录,生成org.springframework.core-3.0.5.RELEASE文件夹。
  7. 到此为止准备工作就已经准备的查不到了。开始进行从源码中提取出我们所需要的r包。
    cmd 到 org.springframework.core-3.0.5.RELEASE下面
    执行命令生成spring-cglib-repack-3.2.5.jar文件:
    jar cvf spring-cglib-repack-3.2.5.jar org\springframework\

    查看一下,该jar包已经生成了。

  8. 执行命令生成spring-objenesis-repack-2.6.jar文件:
    jar cvf spring-objenesis-repack-2.6.jar org\springframework\
    执行完成之后再次查看该目录
    另一个文件也生成了
  9. 到此为止缺少的两个jar包也找到了,可以放到指定为止进行再次测试。
    刷新下,引用的jar也不报错了。
    参考:http://blog.csdn.net/qq_17586821/article/details/53033596



最后:总结

  1. 由于是第一次,走了好多的弯路,也不清楚这次是不是也是个弯路,
  2. 希望可以给第一次研究这块的带来些帮助,
  3. 也希望大家能给些指导和快捷的方法。

















原创粉丝点击