程序员

记一次Maven的profile文件过滤引起的字符编码BUG

2017-11-26  本文已影响222人  飞来来

本文记录了一次文件编码差异引起的profile替换占位符失败的bug,及处理思路。记录成文,以便以后反思,或让后来遇到问题的同学能有据可循。

起因及bug描述

相信大家对于Maven中打包不同环境使用不同profile文件的做法已经很熟悉了。我所在的项目分了好多个profile,每个profile对应不同的properties,如下图:


多个properties

在开发的过程中,出现其中某几个properties编译打包出来的工程,占位符没有被替换,但是其他的properties则没有问题。war包中的配置文件中还是会有${xxx.xxx.xxx}的字符。


多个properties

处理思路

日志提示使用UTF-8的编码格式,拷贝了16个经过filter操作的resource文件。然后排除了properties文件中的中文干扰,但是依然没有解决问题,Maven打包后依然是那几个properties没有有效的替换占位符。

文件字符的对比 异常的字符

小结

在排除了大部分低级错误后,不要盲目进行没有必要的盲目测试,投石问路虽然是不错的方法,但是在排除bug时,一步一步的投石问路未免太过耗时。比方说在这次的bug解决中,在排除了大部分低级错误后,不应盲目进行测试,妄图以此找到解决问题的办法,而应该站在更高层次的角度来看待问题出现的缘由。所以在以后的编码学习过程中,应该加强自己的逻辑思维能力,提高分析解决问题的能力。

上一篇 下一篇

猜你喜欢

热点阅读