您的位置:首页 > 其它

ant编译时的一个跨平台问题

2013-03-14 13:35 211 查看
今天,在优化基于cruisecontrol持续集成环境的脚本时,遇到一个非常奇怪的问题,经过几次测试,我基本认为是ant在不同平台下的一点差异,或者是bug。

问题场景如下:
ant编译时,一些配置在测试环境和正式环境上不一样,之前是在build.xml里 这样来指定配置文件的:

现在,我删掉这个配置,让其在运行ant时作为参数来指定配置文件,

打包测试环境时:

ant -propertyfile build.properties

打包正式环境时:

ant -propertyfile build-live.properties

在win7 下运行,很完美,读取指定配置文件,xml,jsp的替换都正常。



但,在linux下,发现部分替换有问题,出现问题的是build.properties里定义的变量,不能被替换,比如:



上图的红色部分,应该被我定义的变量:jiemai.path.css 的值(s.xxxx.com) 所替换。
但linux下却没有,也就是说在linux下,加载的build.properties,里面的变量没被应用,仅仅当做简单的存储key-value的属性文件。

打包jsp的结果如下(${jiemai.path.css}没有被替换成具体值):



经过几次试验,感觉通过-propertyfile 去指定属性文件,在linux下ant的行为有点不一样
有感兴趣或者遇到类似情况的,可以交流一下~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐