getClass (). getResource () всегда возвращает ноль - PullRequest
9 голосов
/ 26 августа 2011

Я пытаюсь установить URL-адрес изображения, которое находится в моей папке ресурсов в моей папке src. Это всегда установка URL на ноль. Изображение есть, и все названо правильно. В чем проблема? Спасибо!

Моя файловая структура:

  • sp1
    • ЦСИ
      • ресурсы
        • 01.png

Вот мой код, в котором я пытаюсь установить URL для картинки:

this.setImagePath(getClass().getResource("/resources/01.png"));

И setImagePath делает это, я уверен, что это не проблема, потому что я следил за выполнением, и он устанавливает его равным нулю.

public final void setImagePath(URL imagePath) {
    this.imagePath = imagePath;
}

Решение

Мне пришлось очистить сборку и перестроить. Это сработало после этого исправления.

Ответы [ 4 ]

10 голосов
/ 26 августа 2011

Я должен был очистить сборку, а затем восстановить. Работает сейчас.

3 голосов
/ 26 августа 2011

Вы должны проверить, что, как бы вы ни создавали, файл изображения копируется туда, куда скомпилированы файлы класса. То есть если ваш класс com.foo.MyImageLoader и расположен в <build dir>/com/foo/MyImageLoader.class, тогда изображение должно быть в <build dir>/resources/01.png, чтобы вы могли его так загрузить.

0 голосов
/ 31 октября 2018

Если вы используете JDeveloper, убедитесь, что у вас выбрано расширение файла, который вы хотите скопировать в папку классов для использования. Щелкните правой кнопкой мыши по проекту и выберите свойства проекта, чтобы перейти на этот экран.

JDeveloper

0 голосов
/ 26 августа 2011

Я думаю, что URL должен быть "01.png", а не "/resources/01.png"

...