如果不是工作环境遇到,我估计自己肯定不会碰到和去查这样的问题的。
软件环境:
ant 1.7
java_home 1.6
jdk1.4.2
eclipse
有一个项目,基于jdk1.4,用ant构建的,我们在开发环境,一般在eclpse运行build.xml的,运行正常。
后来我自己在命令行build部署到服务器上以后,发现new BigDecimal(0)这样的语句都执行报错。
Caused by: java.lang.NoSuchMethodError: java.math.BigDecimal.<init>(I)V
经过谷歌***,初步断定是java版本问题,想了想就是ant的环境不一致而已,最后在ant.bat指定JAVA_HOME到1.4.2版本就ok了。
其中这篇blog解释很清楚。
http://hi.baidu.com/kaisep/blog/item/230ad61721aca202c83d6d4e.html
这才是构建是小插曲而已,项目里的旧代码维护也很麻烦的——如果总想着都按理想中的开发环境来,什么先进的框架,培训良好的组员,高质量的测试***,那你就真真的掉到幸福窝里了,呵呵