@Lordao

Как исправить ошибку NPE, когда запускаешь программу как jar?

Таким образом я вытаскиваю из ресурсов файл json. Если запускать программу через студию, то всё запускается без ошибок.
File file = new File(getClass().getResource("questions.json").getFile());
questions = gson.fromJson(new FileReader(file), Question[].class);


Но когда билдишь проект с помощью Maven, то вылетает ошибка java.io.FileNotFoundException: file:/home/ann/IdeaProjects/Testing/target/testing-1.0.jar!/questions.json (No such file or directory)
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@Cheypnow
Используй getClass(). getResourceAsStream("questions.json")
Получишь InputStream, а дальше работай с ним как нужно. Так вроде не будет абсолютный путь использоваться
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
EugeneP2
@EugeneP2
Java Dev
.getResource("/questions.json").
Ответ написан
Комментировать
@Lordao Автор вопроса
Решил проблему таким образом:

InputStream file = this.getClass().getClassLoader().getResourceAsStream(("questions.json"));
String json = IOUtils.toString(file, "UTF-8");
questions = new Gson().fromJson(json, Question[].class);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы