将eclipse项目转为maven项目的时候,编译时遇到 “非法字符: \65279”的报错。
出错内容是:
*.java:1: 非法字符: \65279
[javac] package com.*.*;
[javac] ^
[javac] 1 错误
对于这个错误,下意识的认为是文件的第一行有隐藏字符。于是把第一行删掉重新添加上,结果依然报同样的错。
继续分析认为是文件编码格式的问题,但具体问题出在那里并没有一个明确的概念,工程使用的UTF-8编码格式。
后面上网看了,发现文件的UTF-8编码格式还是有一些不同;出错的java文件的编码格式是UTF-8 BOM格式的。其它源码的编码格式都正常。
第一种解决办法:
在windows上可以使用notepad++之类的比较好用的文本编辑器来转编码。也可以通过在eclipse中修改文件编码的方式来改了,具体如下:
先在eclipse的 project explorer中选中这个java文件,在右键菜单中选中“properties”,在弹出框中,将文件的编码“text encoding”更改为ISO-8859-1,这样,源码文件的头部的隐藏字节马上显示成乱码就出来了。把乱码删掉之后,重新将文件编码改为UTF-8即可。
第二种解决办法:
新建一class文件,将代码复制进去