一、问题
1.最近准备阅读下Spring源码,学习下它优秀的架构和编程思想。但是出师不利。
Spring源码git仓库:https://github.com/spring-projects/spring-framework
使用的包管理工具是gradle。我一直用的是maven,对这个工具并不熟悉。所以先在本地安装了gradle客服端5.6.4
2.克隆代码到本地:git clone -b master https://github.com/spring-projects/spring-framework.git
切换目录至: ~/git/spring-framework/spring-tx
执行命令:gradle cleanidea eclipse 将项目转换成eclipse项目
执行完之后,日志提示成功。
这时候是将项目导入eclipse了。把这个模块作为一个java工程导入了eclipse。
导入之后便发现,这两个包找不到。
3.怎么会找不到包了,难道是我到导入依赖方式有问题。我也没进行手动导入啊。
由于我平时工作中基本没用gradle。我们想为了编译一个工程,去花更多的时间深入了解该工具。
二、解决
1.工程内容是Spring官方的源码,它不可能给我们还有错误配置文件的项目。肯定不是项目本身问题,而是我本身的执行方式的问题。
2.再次进入官方git。阅读README.md
构建资源。点进那个Build form Source超链接。点进去之后,会发现里面的步骤就很详细了。
3.开始之前,你需要git客服端和本地JDK1.8或更新的环境。然后进行代码clone
4.通过命令构建: ./gradlew build gradlew位于项目根目录。
gradle还拥有好的支持。你可以通过-a :project 这样的形式来避免构建其他模块,也就是指定构建模块
5.运行命令过后的结果。
6.构建成功了,继续往下看。在最下面有一个导入IDE的指南,一个eclipse和一个IDEA的超链接。由于我使用的eclipse.继续点进去。
7.直接看步骤,略过上面的介绍
a.带有jdk1.8版本的eclipse
b.下载插件kotlin 和 groovy。我使用的是最简单快捷的安装插件的方法。直接在
c.倒入项目,选择gradle项目。但是我发现我eclipse并没有安装gradle相关插件,所以在这之前我手动安装了gradle插件。
最后倒入项目,选择所有模块。最后成功,没有报错
其实在最后它还说了,源代码本身包含了eclipse项目的文件,不再需要我们手动去生成。
三、总结
特别像某些开源项目的源代码在github上,我们倒下来都会发现有某些错误,原因其实只是我们自己倒入的方式不对,或者IDE少了某些插件。它项目本身是没有问题的。