Build Spring3 惊喜手记
作者:臭豆腐[trydofor.com]
日期:2009-12-21
授权:署名-非商业-保持一致 1.0 协议
声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。
文档目录
1. 简单目标
目标是,把spring-framework-3.0.0.RELEASE导入Eclipse,编译无错误。
简单明了,可操作起来,得到很多惊喜。
本地环境:WinXP,ant-1.7.0,jdk1.6.0_16
考虑网速,省去svn检出,下载了spring-framework-3.0.0.RELEASE-with-docs.zip。
解压缩,进入projects/build-spring-framework目录,输入ant,切换窗口,忙别事。
2. 首次惊喜
5分钟吧,切窗口回来,得到惊喜(控制宽度,文本进行了手工折行)。
resolve.compile: [ivy:cachepath] :: Ivy 2.1.0 - 20090925235825 :: http://ant.apache.org/ivy/ :: [ivy:cachepath] :: loading settings :: file = E:\mess\projects\spring-build\common\ivysettings.xml [subant] Leaving directory: E:\mess\projects\org.springframework.instrument BUILD FAILED E:\mess\projects\spring-build\multi-bundle\artifact.xml:45: The following error occurred while executing this line: E:\mess\projects\spring-build\multi-bundle\common.xml:71: The following error occurred while executing this line: E:\mess\projects\spring-build\common\common.xml:91: impossible to configure ivy:settings with given file: E:\mess\projects\spring-build\common\ivysettings.xml : java.text.ParseException: failed to load settings from file:/E:/mess/projects/spring-build/common/ivysettings.xml: impossible to define new type: class not found: org.springframework.aws.ivy.S3Resolver in [] nor Ivy classloader |
一头雾水,几度搜索,得到线索和结论是,
Err with Pre-existing ant ivy jar (org.springframework.aws.ivy.S3Resolver)
删除 $ANT/lib/ivy-2.1.0.jar。
继续ant,继续切换窗口。
3. 再次惊喜
不知多久,窗口切换了好几回,文字在屏幕上上升,不亦乐乎。
出了个插曲:java.lang.OutOfMemoryError: PermGen space
修改环境变量:
ANT_OPTS=-Xms256m -Xmx768m -XX:MaxNewSize=256m -XX:MaxPermSize=512m
JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m
继续 ant,继续切换窗口,但最终得到惊喜。
[ivy:cachepath] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:cachepath] :: FAILED DOWNLOADS :: [ivy:cachepath] :: ^ see resolution messages for details ^ :: [ivy:cachepath] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:cachepath] :: org.hibernate#com.springsource.org.hibernate; 3.3.1.GA!com.springsource.org.hibernate.jar [ivy:cachepath] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:cachepath] [ivy:cachepath] [ivy:cachepath] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS [subant] Leaving directory: E:\mess\projects\org.springframework.orm BUILD FAILED |
重复了几次,都没有成功,视乎是网络问题?!
4. 换个角度
可能是点太背了吧,换个角度,转移到日本中转服务器碰碰运气。
CentOS release 4.3,但是java6,ant1.7和svn都没有。
<tty> 安装环境 | ||
|
网络条件很不错,下载ivy-cache.zip,替换到本地,23个工程好使了21个。
org.springframework.spring-library
spring-framework-reference
org.springframework.aop
org.springframework.asm
org.springframework.aspects
org.springframework.beans
org.springframework.context
org.springframework.context.support
org.springframework.core
org.springframework.expression
org.springframework.instrument
org.springframework.instrument.tomcat
org.springframework.integration-tests
org.springframework.jdbc
org.springframework.jms
org.springframework.orm
org.springframework.oxm
org.springframework.test
org.springframework.transaction
org.springframework.web
org.springframework.web.portlet
org.springframework.web.servlet
org.springframework.web.struts
出错的2个是,
org.springframework.web.servlet工程
org.springframework.web.servlet.view.BaseViewTests
第173行有个字符,需要以UTF8编译。
org.springframework.oxm工程
主要是以下测试代码的问题。
src/test/java/org/springframework/oxm/castor/
src/test/java/org/springframework/oxm/xmlbeans/
src/test/java/org/springframework/oxm/jaxb/
原因是找不到以下8个类:
Flight、FlightDocument、Flights
FlightsDocument、FlightType
ObjectFactory、Order、OrderItem
5. 拒不信邪
对于“再次惊喜”只是的网络故障,始终不能归咎于人品问题。
于是一步一步的,从头再来了一遍,依然没有成功 :(
结论是,在彻彻底底搞清楚之前,千万不要和人品过不去。