Building Spring 3

Spring 3 正式发布已经有好长时间了,第一次从 SVN 拿下源代码进行编译,总是编译不过。事实上,Spring Team Blog 上已经有一篇关于构建 Spring 3 的文章,但按照文章说的一步一步的来做时,不是这里出了问题就是那里出了一点小差错。其实,只要仔细阅读这篇文章,按它说的步骤来实践的话,只要你足够细心,最终是会成功的。这里,我将 Spring Team Blog 上的这篇文章中我们需要注意的地方列出来,作为学习笔记,供大家参考。

        ● JDK
        使用 Spring 3,至少需要 Java 5;编译 Spring 3,至少需要 Java 6。如果你的机器上装了 N 多个版本的 JDK,请确保环境变量中的那个 JDK 的版本不低于 6.0。

        ● Ant
        Ant 1.7 or later。

        ● 设置 JAVA_OPTS 和 ANT_OPTS
        设置环境变量,这依赖于你的机器的配置。要提供 JVM 足够大的内存,否则编译过程中会出现内存溢出。参考设置如下:
Config代码   收藏代码
  1. JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m  
  2. ANT_OPTS=-Xms256m -Xmx768m -XX:MaxNewSize=256m -XX:MaxPermSize=512m  

        在以上三点确保的情况下,可以继续下面的操作了,基本上编译不会出现什么问题了。

        ● Check out the sources
        Check out the sources from https://src.springframework.org/svn/spring-framework/trunk/

        ● Build
        使用 ant 来 build,它会通过 ivy 来下载 Spring 3 所依赖的第三方 jar 包。这段时间你可以喝杯咖啡或是小憩一会。
Command代码   收藏代码
  1. ---> cd ${SRC_HOME}/build-spring-framework  
  2. ---> ant  
  3.   
  4. Hava a rest......  
  5.   
  6. [......]  
  7. BUILD SUCCESSFUL  

        接下来要做的,就是将 Spring 3 的源代码导入到 Eclipse 中来。

        ● Create the IVY_CACHE classpath variable
        Spring 3 的整个工程依赖于 IVY_CACHE 这个环境变量,它其实就是 ant build 时创建的 ivy-cache 目录,这里面都是 Spring 3 所依赖的第三方 jar 包。
        Window -> Preferences -> Java -> Build Path -> Classpath Variables -> New:
Path代码   收藏代码
  1. Name=IVY_CACHE  
  2. Path=${SRC_HOME}/ivy-cache/repository  


        ● Set the workspace default JRE to Java 6
        Window -> Preferences -> Java -> Installed JREs,确保选中的是 Java 6。

        ● Import sources into Eclipse
        File -> Import -> Existing Projects into workspace,root directory 选择 ${SRC_HOME}。

        ● 结束语
        至此为止,构建结束。此时,还是会发现 Eclipse 中有若干个工程构建失败,查看原因,是由于 aop,orm,web 这三个工程的的 Build Path 的 ivy 路径有点问题,我干脆删除,就可以了。还有一种方式是补齐 ivy 的路径,这个不影响整个 Spring 3 的构建。但我还是有点不明白,Spring 开发团队在 Eclipse 中使用这样的 ivy 路径难道不报错吗?

        最近更新了 Spring 的代码,将近有一年没有去更新了,尝试 build 时,总是单元测试过不了。我知道,只要我不执行单元测试的 target 就可以成功构建。可是可恶的 UE 啊,我在文件搜索中,未看见【搜索子目录】,导致我怎么搜 【<target name="test"】 都搜不到。是不是用眼过度啊???再次搜索,把 test target 所依赖的测试任务全部去掉,OK,重新 build,我心仪已久的 【BUILD SUCCESSFUL】 终于又再次出现了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值