"незаконный характер:\65279" во время компиляции Maven, несмотря на то, что он настроен на UTF-8

Я пытаюсь скомпилировать проект Maven Java с файлами, сохраненными как UTF-8, которые имеют спецификация, но я я получаю ошибку незаконного символа из символа спецификации, несмотря на то, что у меня есть как project.build.sourceEncoding, так и encoding для параметра maven-compiler-plugin, установленного на UTF-8.

Мне не хватает дополнительной настройки? Могу ли я даже это компилировать, не удаляя спецификацию (не разрешено вносить какие-либо изменения в исходный код, но я могу изменить POM)?


Ошибка:

java: C:\code\main\src\test\java\net\initech\finance\FinanceTest.java: 1: незаконный символ:\65279

Свойство:

<properties>
    ...
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    ...
</properties>

Плагин:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

Ответ 2

1. Закройте свой проект.

2. Попробуйте открыть файл с помощью блокнота ++ и переключитесь на "UTF-8 без спецификации".

3.Рекомендуйте свой проект еще раз.

Ответ 3

Это случилось со мной после того, как я открыл класс Java, используя блокнот. Это изменило кодировку файла.

Простой трюк, который я сделал, это:

  • Откройте свой класс из Android Studio/Eclipse
  • Ctrl + A, а затем Ctrl + X
  • Удалить пустой класс сейчас
  • Создайте новый класс с тем же именем
  • Ctrl + V код
  • Готово

Ответ 4

==, взгляните на разницу знаков равенства. Правильный используется для обычного английского типа, но левый более длинный обычно используется для китайских языков.