Я использую geoip2, чтобы определить страну по ip. Во время разработки и тестирования кода у меня нет проблем, но когда я запускаю скомпилированный архив, я сталкиваюсь с исключением java .io.FileNotFoundException. Я так понимаю, это потому, что путь к файлу абсолютный, а в архиве он меняется. Вопрос: Как мне изменить свой код, чтобы даже из архива я мог получить доступ к файлу?
public static String getCountryByIp(String ip) throws Exception {
File database = new File(URLDecoder.decode(GeoUtils.class.getResource("/GeoLite2-Country.mmdb").getFile(),"UTF-8"));
DatabaseReader dbReader = new DatabaseReader.Builder(database).build();
InetAddress ipAddress = InetAddress.getByName(ip);
CountryResponse response = dbReader.country(ipAddress);
return response.getCountry().getName();
}
test.war / test.war / WEB- INF / классы