Почему кодировка отличается от системной по умолчанию в Maven и как изменить этот параметр? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть 2 Java проектов, работающих в IDE Netbeans. Первое - это стандартное приложение Java, а второе - проект Maven. После прочтения некоторых текстов с ошибкой (получение ??? вместо некоторых символов Turki sh) из JTextFields я обнаружил, что настройки кодировки в этих проектах различаются.

Когда я выполняю этот код

System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));

Я получаю эти выходные данные; для стандартного приложения:

file.encoding: UTF-8
defaultCharset: UTF-8

, что правильно, но для проекта Maven:

file.encoding: Cp1252
defaultCharset: windows-1252

Я не понимаю, в моем pom. xml атрибуты кодировки UTF- 8.

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

Я не изменял никаких других настроек, я не знаю, где это свойство переопределяется. Я нашел Inte rnet и попытался добавить некоторые зависимости плагина (со свойством кодирования, установленным на «utf-8») в pom. xml, но это не сработало, и я удалил все эти лишние строки из pom. xml.

Почему Maven изменяет кодировку по умолчанию и где мы можем установить для этого свойства системные значения по умолчанию?

...