maven 某项目时 error 提示:XXXX.java:[1,10] 需要class, interface或enum
manen install 某 project 时 出现上述错误,起初不解,几个类中都严格审查了一下,并没有语法错误。
然后,报错的就是最强大的反驳,程序必须有错误!
经过网上查询资料,得知真正原因:
这个文件的格式为UTF-8-BOM编码,而程序编译时是按照UTF-8的格式来编译运行的,因此报错。
如下图所示:
解释一下BOM,即Byte Order Mark,就是字节序标记。
它是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\ufeff"),位于文本文件头部。程序报错正是代码不识别文件头部的\ufeff导致的。
找到原因,马上修改,用NotePad++将字符修改成utf-8,保存,eclipse中更新,重新maven,完成!