Eclipse - файл хранилища ключей автоматически модифицируется во время сборки проекта - PullRequest
0 голосов
/ 17 октября 2019

Я работаю над проектом Maven в Eclipse 2019-06 (4.12.0). Я добавил файл хранилища ключей в src/main/resources. Когда проект создается Eclipse, файл хранилища ключей копируется в target/classes.

Интересно, что скопированный файл на больше исходного , и он не является допустимым хранилищем ключейфайл больше . Я протестировал это как с Java-кодом, так и с приложением KeyStore Explorer. Если я удаляю скопированный файл, изменяю имя оригинала и перестраиваю проект, то у скопированного файла будет новое имя, поэтому Eclipse определенно копирует файл хранилища ключей из src/main/resources, но почему-то меняет его структуру.

Я посмотрел скопированный файл, и, хотя исходный файл начинается с FE ED FE ED ..., скопированный начинается с четырех EF BF BD последовательностей. Последний является кодировкой UTF-8 символа замены Unicode . Возможно, что Eclipse рассматривает файл хранилища ключей как текстовый файл и изменяет его кодировку (по умолчанию рабочая область - UTF-8), но почему?

Как заставить Eclipse прекратить изменять файл хранилища ключей при копировании в target

1 Ответ

0 голосов
/ 17 октября 2019

В файле POM файл хранилища ключей должен быть исключен из фильтрации ресурсов:

<build>
    ...
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>keystore</nonFilteredFileExtension>
                </nonFilteredFileExtensions>
            </configuration>
        </plugin>
    </plugins>
</build>
...