最近,我一直在应用程序中使用GeoLite 2 City数据库,通过用户的IP获取用户位置的信息。该数据库在我的本地计算机中运行良好,但当我使用./gradlew -Pprod clean bootJar
将其编译为.jar时,在尝试访问使用该数据库的组件时,出现以下错误:
InvalidDatabaseException
Could not find a MaxMind DB metadata marker in this file (<InputStream>). Is this a valid MaxMind DB file?
搜索这个错误,我在StackOveflow上找到了this thread,它解释了在Maven中禁用二进制文件资源过滤的必要性。问题是,我使用的是gradle,据我所知,它没有这个资源,不应该面临这个问题。
无论如何,我尝试寻找一个解决方案,并尝试实现基于this thread的东西来解决这个问题。我最终将其添加到我的build中。gradle:
processResources {
from('src/main/resources/data') {
include '**/*.mmdb'
}
}
不过,这也没有用,看起来这应该是一个简单的问题,但我一直无法解决,也没有找到有同样问题的人,任何帮助都将不胜感激!
1条答案
按热度按时间dgsult0t1#
您可以尝试以下操作(注意:我没有测试过)