Почему я получаю unmappable символ для кодирования UTF-8, когда я изменил maven java компилятор плагин от 1,5 до 1,6?

У меня есть проект Java, и я использую Apache Maven. Все это время я использовал плагин компилятора Maven Java с параметрами source = 1.5 и target = 1.5, определенными в файле pom.xml. Поскольку я изменил его на source = 1.6 и target = 1.6, я получаю следующую ошибку:

XXXXXXXX.java: [54,27] unmappable символ для кодирования UTF-8

Я тестировал разные конфигурации, и я переключил showWarnings на значение true, чтобы я мог видеть, что со значением 1.5 для источника и цели это предупреждение, а не ошибка.

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

Ответ 1

Мой вопрос: почему это ошибка с источником = 1.6 и target = 1.6 и это предупреждение с источником = 1.5 и target = 1.5?

Short anwser, потому что они сказали так:

-source 1.6 Это значение по умолчанию. Никаких языковых изменений не было введенных в Java SE 6. Однако ошибки кодирования в исходных файлах теперь сообщается как ошибки, а не предупреждения, как ранее.

Проблемы @DaveG действительны, и вы должны попробовать:

  • Измените кодировку файлов исходных файлов
  • найти/заменить эти символы вашей IDE