java: 非法字符: ‘\ufeff’
报错解释:
这个错误通常发生在尝试编译Java源代码文件时,文件开头的字符是一个字节顺序标记(Byte Order Mark,BOM),即\ufeff。在Java中,\ufeff不是一个合法的字符,因此编译器会报“非法字符: ‘\ufeff’”错误。
解决方法:
使用文本编辑器打开源代码文件,比如Notepad++、Sublime Text或者IntelliJ IDEA等,并将文件另存为无BOM的UTF-8编码格式。
如果是从其他地方获取的代码,确保在复制或下载代码之前删除BOM。
使用命令行工具或编译器选项来忽略文件开头的字符。例如,在使用javac编译时,可以使用-encoding参数指定编码方式,如:javac -encoding UTF-8 YourClass.java。
如果是在版本控制系统中,可以设置忽略BOM的配置,例如在Git中,可以添加.gitattributes文件,并添加以下内容:
*.java -text
这样可以保证在检出代码时不会生成BOM