getClass().getResource() возвращает null в развертывании

Следующий код работает нормально, когда я запускаю приложение из netbeans

ThumbnailLabel lblImg =new ThumbnailLabel(new javax.swing.ImageIcon(
    getClass().getResource("/jewelleryerpapplication/GUI/resources/NoPicture.png")));

Затем я очищаю сборку решения, как упоминалось в разных сообщениях по этой проблеме. После этого, когда я дважды щелкаю App.jar из папки dist, возникает следующее исключение.

  Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:138)

person Syed Muhammad Mubashir    schedule 11.07.2012    source источник
comment
Убедитесь, что путь правильный. И попробуйте удалить / в начале пути.   -  person Radu Murzea    schedule 11.07.2012
comment
попробуйте пройти через загрузчик классов, this.getClass().getClassLoader().getResource() и убедитесь, что вы используете согласованный объект (например, не в конструкторе)   -  person BigMike    schedule 11.07.2012
comment
@BigMike Я попробовал ваше решение, но результат тот же.   -  person Syed Muhammad Mubashir    schedule 11.07.2012
comment
опубликуйте jar tvf вашего файла jar, пожалуйста   -  person BigMike    schedule 11.07.2012
comment
Пожалуйста, обратитесь к этому примеру, я надеюсь, что папка ресурсов - это Source Folder в вашем случае. Если это папка, которую вы добавили, то я думаю, вам следует использовать getClass().getResource("/NoPicture.png")   -  person nIcE cOw    schedule 11.07.2012


Ответы (1)


Убедитесь, что JAR вашего развертывания действительно содержит образы :-)

person Erich Schreiner    schedule 11.07.2012
comment
Да, он содержит изображения с одинаковым путем. Я также проверил путь. - person Syed Muhammad Mubashir; 11.07.2012