maven 某项目时 error 提示:XXXX.java:[1,10] 需要class, interface或enum

maven 某项目时 error 提示:XXXX.java:[1,10] 需要class, interface或enum

manen install 某 project 时 出现上述错误,起初不解,几个类中都严格审查了一下,并没有语法错误。

然后,报错的就是最强大的反驳,程序必须有错误!

经过网上查询资料,得知真正原因:

这个文件的格式为UTF-8-BOM编码,而程序编译时是按照UTF-8的格式来编译运行的,因此报错。

如下图所示:

maven 某项目时 error 提示:XXXX.java:[1,10] 需要class, interface或enum

解释一下BOM,即Byte Order Mark,就是字节序标记。

它是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\ufeff"),位于文本文件头部。程序报错正是代码不识别文件头部的\ufeff导致的。

找到原因,马上修改,用NotePad++将字符修改成utf-8,保存,eclipse中更新,重新maven,完成!