Gradle对Spring源码编译

来源:互联网 发布:合肥飞恒网络 编辑:程序博客网 时间:2024/05/22 06:06

想学习研究下Spring源码,就在网上搜索一堆资料,别人的东西在自己的电脑上总是有问题。总结下自己的使用方法,以便备忘。

前提:导入eclipse成功,导入不了myeclipse。

1、准备条件:

(1).必须jdk7+不解释,不然报错。

(2).spring源码在github上管理,你可以使用git,也可以使用SVN下载(我使用的是svn)。
svn根地址为:https://github.com/SpringSource/spring-framework/

我下载编译是的v3.2.4RESEASE,地址为:https://github.com/SpringSource/spring-framework/tags/v3.2.4.RELEASE;把源码用svn checkout到本地磁盘。如:F://springsource/v3.2.4

(3).spring源码的编译没有使用ant,而是使用的gradle[3.2.4.RELEASE编译用的是gradle-1.6]。

这里有两种选择:

<a>你可以单独下载gradle-1.6,地址:http://downloads.gradle.org/distributions/gradle-1.6-all.zip,然后配置环境变量,把gradle解压目录/bin配置到path中,然后打开dos命令行,输入gradle -version,看看是否配置成功。

<b>、你也可以不下载,在下面的编译源码过程中,你只需要使用spring自带的gradlew.bat就行,即gradlew -build。注意多了个w、[推荐先下载,反正我下载了的,所以下面我使用的命令都是gradle,而不是网上的gradlew。本来下载spring的jar包就很慢,再下载个gradle(40M左右),就更慢]。

(3).网友说需要改下gardlew.bat文件中第12行的gradle的最大内存等。

修改前:set GRADLE_OPTS=-XX:MaxPermSize=1024m -Xmx1024m -XX:MaxHeapSize=256m %GRADLE_OPTS%set DEFAULT_JVM_OPTS=修改后:set GRADLE_OPTS=-XX:MaxPermSize=512m -Xmx512m -XX:MaxHeapSize=256m %GRADLE_OPTS%set DEFAULT_JVM_OPTS=

说明:如果你下载了gradle-1.6的话,应该就不需要改动了吧。[我给改了,顺手的事,就怕编译时候出事]

2、源码编译:

分4步走:

(1)、打开dos命令,输入:

gradle build -x Javadoc -x api -x groovydoc -x jdiff -x reference

说明:网友说编译javadoc会报错,没尝试,直接去掉编译(反正不用);去掉api编译,编译这个超级慢,电脑还卡。 其他不懂,反正也给去掉加快编译速度。这个过程是个下载jar包的过程,从spring 仓库中下载,好几百兆,慢慢等吧。快的话2钟头,慢的话一天,不过网线断了不要紧,下次不会重新下载,表怕。

(2)、这些jar包啥都下载好了,dos中输入命令:

gradle install

说明:网友说是把jar包放到gradle目录中,字面意思是安装,有点像linux软件的编译,如:make && make install。【以上两步一般应该不会有问题吧,我搞了两次都没问题】

(3)、以上都搞好了,dos中输入命令:

gradle cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse

说明:生成eclipse的项目的配置文件,就是:.classpath,.project、setting目录。要不然eclipse也不认识这是个java项目啊。

注意:这里会有个编译失败,就是它:spring-webmvc-tiles3,不知道啥原因。解决方案,在F://springsource/v3.2.4//spring-webmvc-tiles3目录中手动添加仨文件(.classpath .project setting目录(见附件)]。但是.classpath需要把路径改成你自己的路径,什么路径?任意打开个编译成功的spring的子项目查看下它们的.classpath文件即可知道。

(4)、打开eclipse,导入所有的子项目,直接打开父项目,应该就能显示所有子项目,然后全选,ok。

(5)、dos中输入命令:

gradle :eclipse

导入父项目(也就是v3.2.4这个目录中的src)。【不知道需不需要,我没有执行这个命令,照样导入成功】

最后来张导入成功的图片得瑟下:


用SVN下载编译Spring3.2.4源码导入eclipse

注意:在通过gradle下载时,个人发下一个技巧,如果在下载某个jar包时卡主,可以通过复制下载路径到浏览器上下载,如图红框中数据复制到浏览器中即可下载对应的jar包:



0 0
原创粉丝点击