代码改变世界

checkStyle字符集不支持解决--Got an exception - Unexpected character 0xfffd in identifier

2013-06-17 11:19  风流小探花  阅读(3262)  评论(0编辑  收藏  举报

出现该问题是因为代码中有中文等checkStyle无法识别的编码,并且导致无法正确检查其他错误;

引用网上的一段解决方法(尼玛整个网上都是这一个版本):

 Got an exception - Unexpected character 0xfffd in identifier
    这是因为CheckStyle不能识别制定的编码格式。
    解决方法:设定TreeWalker的charset属性。不过不知道为什么CheckStyle的Eclipse插件不支持这个属性的设定。在Eclipse中可以将CheclStyle导出,然后修改导出的文件:
<module name="Checker">
    <property name="severity" value="warning"/>
    <module name="TreeWalker">
        <property name="charset" value="UTF-8"/>
        <property name="tabWidth" value="4"/>

    如果是UTF-8的话,就添加加粗的那条语句,就可以了。

但事实上,当我添加了这个属性并重载checkStyle配置文件,eclipse会弹框表示TreeWalker不支持charset这个属性!因此网上这个方法至少在我这是行不通

但是在我的机器上以前没加这句时,也可以用checkStyle检查含中文的java文件,我想可能跟我环境变化有关系!

右单机我的java文件的properties属性,编码是UTF-8的,没问题:

但是右单击查看包的properties,是继承自容器的的默认GBK的编码格式:

修改包编码格式,-->windows-->preference-->general-->workspace 邮编encoding选择UTF-8

再使用checkStyle成功检查,不在出现该错误!