maven install COMPILATION ERROR 非法字符: '\ufeff'
程序员文章站
2022-06-13 18:07:59
...
maven install时,发生COMPILATION ERROR ,具体原因是:***.java:[1,1] 非法字符: '\ufeff'
一种由于BOM引起的编译错误,查看此java类的属性,发现此文件的编码方式是Byte Order Mark is UTF-8(BOM):
其他正常的文件编码方式是 UTF-8:
解决问题方式:把文件带有BOM的UTF-8转换为纯UTF-8。
解决步骤:
1,把有此问题的所有文件所在的目录上传到linux环境便于批量处理。business目录
2,单个文件分析:以16进制显示文件内容 xxd
3,要处理的就是package前面的三个... 对应的编码是efbb bf:单个文件处理:
sed '1s/^\xef\xbb\xbf//' AmtGradedArbitrageEntity.java > AmtGradedArbitrageEntity.java1
处理后的结果:package之前的...已经处理完毕
4,把处理之后的文件修改名字替换原来的文件
单个文件处理完毕,若文件比较多,我们需要批量处理目录里面所有的文件方式如下:
1,vi batch.sh 输入如下代码段:
# ./thisfilename.sh source
# NOTE:
#
# ensure this .sh file is changed mod
# source is which dir you want to operate
function getfiles(){
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
#echo $1"/"$file
getfiles $1"/"$file
else
# 这里是对文件的操作,可以是移动,删除,复制,
# 也可以在对文件进行判断,支队指定类型的文件进行操作
#`mv $1"/"$file direSource`
echo $1"/"$file
#mv $1"/"$file $1"/"$file"1"
sed '1s/^\xef\xbb\xbf//' $1"/"$file >$1"/"$file"1"
mv $1"/"$file"1" $1"/"$file
fi
done
}
getfiles $1
2,sh batch.sh business #business是要处理的文件夹目录。执行完毕后,business下包含子目录下所有的文件都会处理成不含bom的utf-8格式
下一篇: IntelliJ IDEA 代码补全
推荐阅读
-
android studio Error:(1, 1) 错误: 非法字符: '\ufeff' 解决方案
-
解决IDEA导入Eclipse项目时,编译报错“ Error:(1, 1) java: 非法字符: ‘\ufeff’”
-
Error:(1, 1) java: 非法字符: ‘\ufeff’
-
Error:(1, 1) java: 非法字符: '\ufeff'
-
非法字符: ‘\ufeff’ Error:(1, 10) java: 需要class, interface或enum Idea导入Eclipse项目报错
-
IDEA 出现 Error:(1, 1) java: 非法字符: ‘\ufeff‘
-
maven install COMPILATION ERROR 非法字符: '\ufeff'
-
Error:(1, 1) java: 非法字符: ‘\ufeff‘
-
Error:(1, 1) java: 非法字符: ‘\ufeff’
-
android studio Error:(1, 1) 错误: 非法字符: '\ufeff' 解决方案