NulPointerException при создании объекта URL для работы с удалённым сервером Redis
В Intellij IDEA в проекте MAVEN пытаюсь подключиться к удалённому серверу Redis.
В файле redis_url.txt находится информация о сервере в виде строки:redis://redistogo:[email protected]:1...9/
Сам файл расположен в директории src/main/resources проекта. resources помечен как Test Resources Root
В процессе создания объекта redis.client.jedis.Jedis, предоставленным в книге Аллен Б.Доуни "Алгоритмы и структуры данных" кодом, используя данные файла redis_url.txt, создаётся объект java.net.URL. Проблема возникла именно на этом этапе. Код URL fileURL = JedisMaker.class.getClassLoader().getResource(filename); возвращает null. Соответственно в следующей строке NullPointerException
Подскажите, почему такой результат и как исправить?
Возможно не правильно указан путь к файлу, но 5 строчек тестового кода выше (File file = new File(filename); ...) свидетельствуют о том, что файл доступен по этому адресу.
Ответы (1 шт):
Дело в том, что resource это не file.
Ваш файл может быть доступен по имени /redis_url.txt, так как он лежит непосредственно в директории src/main/resources, а maven перекладывает все файлы из этой директории в директорию target/classes, в которой java ищет ресурсы.
А его содержимое можно будет прочитать из входного потока, который можно получить следующим образом: InputStream inputStream = JedisMaker.class.getResourceAsStream("/redis_url.txt");