`
zachary.guo
  • 浏览: 482843 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Building Spring 3

    博客分类:
  • J2EE
阅读更多
        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 足够大的内存,否则编译过程中会出现内存溢出。参考设置如下:
JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m
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 包。这段时间你可以喝杯咖啡或是小憩一会。
---> cd ${SRC_HOME}/build-spring-framework
---> ant

Hava a rest......

[......]
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:
Name=IVY_CACHE
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】 终于又再次出现了!
分享到:
评论
8 楼 zachary.guo 2012-11-07  
wangling1hao 写道
为啥我ant后很快就执行完了,也没有ivy-cache目录生成呢。我用的是spring3.1


Spring 3.1.x 已经不可同日而语了,它已经迁移到 git 上了,自行 build 的方式估计也发生了变化。你可以参考:https://github.com/SpringSource/spring-framework
7 楼 wangling1hao 2012-11-06  
为啥我ant后很快就执行完了,也没有ivy-cache目录生成呢。我用的是spring3.1
6 楼 zachary.guo 2012-08-22  
ymgjava 写道
把 test target 所依赖的测试任务全部去掉
请问下,你是怎样“把test target 所依赖的测试任务全部去掉”的?

搜索 <target name="test" ,去掉即可。它所依赖的 task,也会在 <target name="test"> 里,继续搜索并删除即可。
5 楼 ymgjava 2012-08-22  
把 test target 所依赖的测试任务全部去掉
请问下,你是怎样“把test target 所依赖的测试任务全部去掉”的?
4 楼 shuwei003 2012-01-09  
不错不错,终于找到一个能解决问题的
3 楼 zachary.guo 2011-12-15  
fyyzt 写道
请问你的
JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m  
ANT_OPTS=-Xms256m -Xmx768m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
是在Eclipse中设置的吗


编译 spring 的整个过程是在 ant 控制台中执行,根本牵涉不到 ide,不会有人拿 ide 去编译源码。

这些设置都是在环境变量中设置的。windows 环境的话,在 我的电脑 -> 属性 -> 高级 -> 环境变量;linux 环境的话,修改 /etc/profile 文件即可。
2 楼 fyyzt 2011-12-15  
请问你的
JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m  
ANT_OPTS=-Xms256m -Xmx768m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
是在Eclipse中设置的吗
1 楼 shengzimajinming 2011-12-14  
这个刚好用上了,谢谢!

相关推荐

Global site tag (gtag.js) - Google Analytics