首先源码的下载,使用GitHub for Windows,这个是最傻瓜的方式了,不过这个软件放在亚马逊的云上面在,下载颇慢。安装后,在https://github.com/SpringSource/spring-framework 页面中直接点Clone in Windows,即可启动GitHub,并将代码下载到本地。
安装相关的工具:
ant1.8
环境变量:新建ANT_HOME值为ant的跟目录;添加ant目录中的bin目录到环境变量Path中。
Ivy
环境变量:新建IVY_HOME值为Ivy的根目录;将ivy-xxx.jar拷贝到ant的lib目录下。在Ivy的目录下的src目录下,src\example\hello-ivy 中运行ant,如果能build success 则表示Ivy配置成功。
Git
最新Windows客户端下载(http://msysgit.googlecode.com/files/PortableGit-1.7.11-preview20120710.7z),解压到Git-1.7.11目录,将Git-1.7.11\cmd 添加到环境变量的Path中。
Gradle
下载地址(http://services.gradle.org/distributions/gradle-1.1-all.zip),解压后将gradle-1.1\bin目录添加到环境变量Path中。
编译:
在cmd中进入GitHub\spring-framework目录中,运行 gradlew build,此过程需要下载比较多的依赖jar包,比较费时,而且一般情况下会有错误,如果代码没有问题的话多来几次就好了,最终还是可以编译成功的。注意:此build过程中干的活比较多,包括了测试代码的运行,如果由于测试代码运行失败导致build失败的话,可以先运行gradlew tasks看看可以build中都有哪些task可以执行。如果不运行测试代码的话可以运行gradlew assemble,即可编译代码生成jar。
如果想将代码导入到eclipse中,可以运行gradlew eclipse,可以生成所有项目的eclipse的.project和.classpath文件。
另外关于GitHub for Windows,我在64位的Windows7中安装后,在chrome中点击Clone in Windows没有任何反应,但是在32位的Windows7中同样使用chrome就可以直接启动GitHub ,不知道为啥。
gradlew,这个是存在在spring-framework目录下的一个bat文件,是对Gradle的一个封装,在使用这个命令时会自动去下载gradle,如果已经安装了gradle则在编译过程中使用的gradlew命令应该都可以替换成gradle。自动下载gradle是根据gradle\wrapper目录中的gradle-wrapper.properties中配置的,distributionUrl=http\://services.gradle.org/distributions/gradle-1.0-bin.zip。
如果运行gradlew 出现无法初始化jvm的消息,则需要修改下gradlew.bat中关于jvm内存设置的参数,git下来之后原始设置是set GRADLE_OPTS=-XX:MaxPermSize=1024m -Xmx1024m %GRADLE_OPTS%,可将MaxPermSize稍微写小一点,512M完全没问题的。
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine
以上编译方法适用于Springframework3.1以及Spring Security3.1。