spring源码转eclipse工程及问题分析记录
1.下载github用来下载源码 ;地址:http://windows.github.cm/
安装完打开
点击File-clone a repository-url 输入源码下载地址:git://github.com/spring-projects/spring-framework.git
下载完成后,将其编译成eclipse直接可导的工程;
然后就是各种坑!!!
先说一下spring源码这本书所描述的步骤,网上也大多如此:
github下载源码-->gradle编译源码 命令 gradle cleanIdea eclipse(就是这步,各种错啊)就在准备放弃的时候,发现源码目录下面有个bat文件,然后点来一下,开始下载gradle(难道说运行源码这个脚本就OK了?),眼看要成功时,报了个Git错,还需要安装git,安装完最终build成功,但是源码还是不能导入,因为没生成 .classpath .project文件,原来gradlew.bat文件只是初始化环境(下载gradle、jar包等),还需要执行gradlew eclipse命令完成最终编译,具体步骤如下:
1.安装git工具 地址:https://git-scm.com/download/win 一直next,最后一步注意一下 勾选如下
2.配置Git环境变量 保证dos界面 可以直接显示git命令
3.执行gradlew.bat脚本
4.成功之后再执行gradlew eclipse命令
执行命令之前,修改一下build.gradle文件:
然后执行:
5.成功导入之后,还没结束,接下来还要继续引入这些依赖
总结:
1.上面报的Could not resolve....还不清楚啥原因,已经力竭了,暂时没影响,先不管了
2.cmd打开界面后 通过命令call 执行bat脚本,这样执行脚本出错界面不会直接关掉,便于排错
3.环境变量改了,保存后再点击进去,发现又还原了(怪不得一直不生效 WTF!!!),重启电脑解决该问题(万能方法)
4.源码转成eclipse方法不止一种,一直纠结于一种,好像有点钻牛角尖,不过最终还是有收获的,所以钻牛角尖有时也不坏吧
哈哈 洗洗睡!!!!!!明晚继续让项目没有感叹号啊 ~.~
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
今天尝试导入项目,问题百出啊,崩溃了要!!!!!!!!!
1.昨天编译成功,但是显示could not resolve,是有影响的,结果就是jar包没下下来
2.通过再次执行gradlew.bat和gradlew eclipse命令,jar包下下来了,不再报could not resolve..提示
3.但是多次编译生成的.classpath文件,导致导入项目报错,大致意思就是classpath里面配置重复了
后面是通过搜索.classpath文件,全部删除,然后再次编译之后导入,错误消失
4.还有其他错误,报spring-core下面的两个jar包不存在,花了两积分下载了这俩jar包,引用该项目的项目不在报错
但是spring-core项目还是报错,后来发现是下载的jar包版本太低所致
5.在源码根目录下面执行这两个命令 gradle objenesisRepackJar 和 gradle cglibRepackJar(记得配置环境变量,直接用 gradlew.bat脚本下载的gradle,其他版本可能不匹配,用自带脚本下载的gradle肯定没问题)
执行完上面两个命令,会更新到最新缺失的那两个jar包
6.执行到这的时候,spring-core里面基本没错了,spring-context里面有一个类报错(网上说下载groovy插件,然后重启eclipse就好了),这样做的后果就是,项目全部报错!!!!!!!!!!!!!崩溃了
7.后面又重新编译,重新导入项目,依然有两个类报错,但是不管了,赶紧往下进行吧,明天开始学习源码!!!!!
对了,项目下面肯根本没有build文件,到该项目下执行 gradle build 命令,就有了,产生的就是该项目的jar包