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

 2019-11-23 11:12  阅读(1726)
文章分类:Spring Cloud

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

第一步:下载Spring源码

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

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

  1. 下载jdk1.8,我当时版本是1.7 ,为什么是1.8呢,等下就知道了,

  2. window cmd 到具体的目录 进行编译gradle cleanIdea eclipse20191123100314\_7.png
    等待出现BUILD SUCCESSFUL,表示执行成功

  3. 可是事与愿违,出现了与jdk有关的问题,20191123100314\_8.png

    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版本比较低:20191123100314\_9.png
    参考http://blog.csdn.net/pipisorry/article/details/42965435
    没办法,只有重新配置jdk1.820191123100314\_10.png
    OK,成功,之后继续开始执行,

  4. 重新执行第2步,继续执行gradle cleanIdea eclipse进行编译20191123100314\_11.png

    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的,
    20191123100314\_12.png

  6. 再次重新执行第2步,继续执行gradle cleanIdea eclipse进行编译,下图代表正在执行编译,
    20191123100314\_13.png20191123100314\_14.png
    gradle各版本下载地址:http://services.gradle.org/distributions
    参考http://blog.csdn.net/xiongyouqiang/article/details/78388141?locationNum=4&fps=1

  7. 经过长时间的等待,终于出现想看到的结果了。BUILD SUCCESSFUL20191123100314\_15.png
    查看编译过后的文件也变的熟悉了
    20191123100314\_16.png

  8. 由于到这之后还需要再走一步,在spring-oxm目录下执行

    gradle cleanIdea :spring-oxm:compileTestJava
    

    解决oxm的依赖问题,如果没有执行这步,则会在导入到MyEclipse中遇到下面那些问题。

第三步:导入到MyEclipse中

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

  2. 导入完之后发现出现个红感叹号20191123100314\_19.png

  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
    20191123100314\_20.png

  4. 我就到对应的路径下去找,发现没有build\libs目录20191123100314\_21.png
    再次百度。。

  5. 再次百度后,说是可以用Spring的源码中的jar包,从源码中提取出我们所需要的jar,
    我用的是spring-framework-3.0.5.RELEASE-source.zip
    链接:http://pan.baidu.com/s/1miOOgpq 密码:705820191123100314\_22.png

  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文件夹。20191123100314\_23.png

  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\
    

    20191123100314\_24.png
    查看一下,该jar包已经生成了。20191123100314\_25.png

  8. 执行命令生成spring-objenesis-repack-2.6.jar文件:

    jar cvf spring-objenesis-repack-2.6.jar org\springframework\
    

    执行完成之后再次查看该目录20191123100314\_26.png
    另一个文件也生成了

  9. 到此为止缺少的两个jar包也找到了,可以放到指定为止进行再次测试。
    刷新下,引用的jar也不报错了。20191123100314\_27.png
    参考:http://blog.csdn.net/qq\_17586821/article/details/53033596

最后:总结

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

来源:http://ddrv.cn/a/88268

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> GitHub下载Spring源码,编译成MyEclipse识别的项目

相关推荐