尽管被设置为UTF-8,但Maven编译期间的“非法字符:\ 65279”

我正在尝试使用保存为UTF-8且具有BOM的文件编译Maven Java项目,但是尽管我同时拥有project.build.sourceEncoding以及encoding ,但我从BOM字符中得到了非法字符错误。 maven-compiler-plugin设置为UTF-8

我错过了额外的设置吗? 我是否可以在不删除BOM的情况下进行编译(不允许对源进行任何更改,但我可以修改POM)?


错误:

java:C:\ code \ main \ src \ test \ java \ net \ initech \ finance \ FinanceTest.java:1:非法字符:\ 65279

财产:

  ... UTF-8 ...  

插件:

    maven-compiler-plugin 3.1  UTF-8     

如果它是UTF-8而不是UTF-16,则BOM完全没有用处。 它为什么放在那里? 此外,只有Java在这里抱怨 – 而不是Maven。

查看JDK-4508058:UTF-8编码无法识别相关的初始BOM 。

1.关闭你的项目。

2.尝试通过记事本++打开文件,然后切换到“无BOM的UTF-8”。

3.重新打开你的项目。

在我使用记事本打开Java类之后,这发生在我身上。 这改变了文件的编码。

我做的一个简单的技巧是:

  1. 从Android Studio / Eclipse打开您的课程
  2. 按Ctrl + A然后按Ctrl + X.
  3. 立即删除您的空课程
  4. 创建一个具有相同名称的新类
  5. Ctrl + V代码
  6. 完成

==,看看等号的区别。 正确的英语类型使用正确的英语类型,但左侧较长的通常用于中文。