尽管被设置为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类之后,这发生在我身上。 这改变了文件的编码。
我做的一个简单的技巧是:
- 从Android Studio / Eclipse打开您的课程
- 按Ctrl + A然后按Ctrl + X.
- 立即删除您的空课程
- 创建一个具有相同名称的新类
- Ctrl + V代码
- 完成
==,看看等号的区别。 正确的英语类型使用正确的英语类型,但左侧较长的通常用于中文。