Java, экспортирующий изображения с помощью запускаемого jar getClass (). GetClassLoader (). GetResource («path») возвращает значение null [duplicate]

1

Я пытаюсь экспортировать изображение внутри моей runnable jar. После некоторых исследований я столкнулся с этим методом:

ImageIO.read(getClass().getClassLoader().getResource("image path"));

После нескольких ответов и просмотра API, я попытался это сам. Мой текущий каталог настроен следующим образом:

Изображение 174551

Это мой код:

cherryImg = ImageIO.read(getClass().getClassLoader().getResource("/res/cherry.png"));

который вызывается из исходного файла Snake.java.

Это сообщение об ошибке:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)
    at cje.chris.edwards.snake.game.Snake.<init>(Snake.java:51)
    at cje.chris.edwards.snake.game.Snake.main(Snake.java:156)

Snake.java:51 - это строка кода, опубликованная выше. Я понимаю, это потому, что он не может найти ресурс, что я делаю неправильно? Я добавил папку res в мой путь сборки.

Я также пробовал:

cherryImg = ImageIO.read(getClass().getClassLoader().getResource("res/cherry.png"));

Это приводит к тому же сообщению об ошибке.

Ответ:

cherryImg = ImageIO.read(getClass().getClassLoader().getResource("cherry.png"));

Благодарю.

  • 0
    файл на самом деле в .jar ? Вы не указываете, как вы создаете .jar , вероятно, его даже нет.
  • 0
    Тема, с которой вы связали меня, содержала ответ. Благодарю.
Теги:

1 ответ

1

Я думаю, что ваша проблема - это ведущий "/"

"/res/cherry.png"

Будет ли это абсолютным путем (от вашего корня вашего диска) не относительный путь от вашего начала от корня вашей банки

Сделать это "res/cherry.png" должно работать

  • 0
    Нет. Я пытался это перед публикацией, та же ошибка сохраняется.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню