Настройте Maven для использования определенной кодировки для файла ресурсов в тесте JUnit - PullRequest
0 голосов
/ 26 июня 2019

У меня проблема с настройкой (я полагаю) Maven и кодировкой файла ресурсов.

Я написал тест, который использует большие входные данные. По этой причине я поместил файл ресурсов в src / test / resources. Во время использования Eclipse тест работает нормально, но когда я использую maven, тест не проходит. Из сообщений совершенно ясно, что немецкие «умлауты» (äüöß) не были преобразованы правильно. У меня была такая же проблема в тесте в Eclipse, но я смог решить ее, экспортировав в базу данных в UTF-8. Но теперь у меня есть эта проблема в Maven. Поэтому я считаю, что он использует неправильную кодировку.

Я пытался

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

в свойствах, и я попробовал

<encoding>UTF-8</encoding>

в конфигурации плагина SureFire.

И то и другое не работает!

Я могу заставить его работать при настройке InputStreamReader в коде для использования "UTF-8", но хотел бы знать, есть ли способ настроить его так, как он работает без этого?

1 Ответ

0 голосов
/ 26 июня 2019

Обновление: этот вопрос изменился между тем, когда я написал это и сейчас. Вы можете игнорировать это.

Исходная кодировка проекта и кодировка вашего InputStreamReader не связаны.

Под этим я подразумеваю, что определение UTF-8 для Maven означает, что он будет читать исходные файлы и файлы ресурсов таким образом во время сборки ; однако это не влияет на то, как ваш исходный код считывает файлы в себя.

Аналогией может быть отправка некоторых коробок через океан со штрих-кодом. Maven справляется с загрузкой ящиков на корабль и отталкивает его от доков, но ваше программное обеспечение контролирует вас, когда вы находитесь в открытом океане! Это означает, что если вы хотите, чтобы ваш исходный код открывал прямоугольники относительно их штрих-кодов, ваше программное обеспечение также должно знать о штрих-кодах. Maven не диктует последующие действия, предпринятые вашим кодом.

Следовательно, использование явного UTF-8 потокового считывателя точно , что вы должны делать. Изменение конфигурации Maven не устранит необходимость в потоковом считывателе с указанным UTF-8.

Источники: https://maven.apache.org/plugins/maven-resources-plugin/examples/encoding.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...