Java — повреждение базы данных GeoLite2 при создании .jar в Gradle

Недавно я использовал базу данных GeoLite2 City в своем приложении для получения информации о местонахождении пользователя с помощью его IP-адреса. База данных отлично работает на моем локальном компьютере, но когда я компилирую ее в .jar, используя./gradlew -Pprod clean bootJarЯ получаю эту ошибку при попытке доступа к компоненту, который использует базу данных:

      InvalidDatabaseException
Could not find a MaxMind DB metadata marker in this file (<InputStream>). Is this a valid MaxMind DB file?

В поисках этой ошибки я нашел эту ветку на StackOveflow, в которой объяснялась необходимость отключения фильтрации ресурсов для двоичных файлов в Maven. Дело в том, что я использую gradle, который, насколько я знаю, не имеет этого ресурса и не должен сталкиваться с этой проблемой.

Несмотря на это, я попытался найти решение и попытался реализовать что-то на основе этой темы , чтобы решить проблему. В итоге я добавил это в свой build.gradle:

      processResources {
    from('src/main/resources/data') {
        include '**/*.mmdb'
    }
}

Однако и это не сработало. Кажется, что это должна быть простая проблема, но я не смог ее решить и до сих пор не нашел кого-то с такой же проблемой. Любая помощь будет оценена!

0 ответов

Другие вопросы по тегам