Используя ресурсы изображения в банке, используя Maven

StackOverflow https://stackoverflow.com//questions/9714028

  •  14-12-2019
  •  | 
  •  

Вопрос

У меня есть проект Java / Maven, который использует значки танго, поэтому я использую следующую зависимостью:

<dependency>
    <groupId>org.freedesktop.tango</groupId>
    <artifactId>tango-icon-theme</artifactId>
    <version>0.8.90</version>
</dependency>
.

и следующий код, который будет работать хорошо, прежде чем я переместил проект в Maven:

imageIcon = new ImageIcon(this.getClass().getResource(org/freedesktop/tango/22x22/actions/address-book-new.png));
.

Тем не менее, теперь он приводит к тому, что nullpointerexception по какой-то причине. Сгенерированная банка не содержит изображений, ни ссылаться на них любым способом, но классы в других банках.

Я много исследовал, но я нашел большинство людей связывать своими изображениями своими источниками.Это не мое дело.

Что мне нужно сделать для Maven для ссылки и / или упаковать эти изображения свойства? Как я могу получить Maven построить автономную банку Runnable (это качание приложения).

Это было полезно?

Решение

Если вы добавите слезу до того, как путь он работает:

ImageIcon imageIcon = new ImageIcon(this.getClass().getResource("/org/freedesktop/tango/22x22/actions/address-book-new.png"));
.

из API :

перед делегацией, абсолютное имя ресурса построено из Учитывая имя ресурса, используя этот алгоритм:

Если имя начинается с A '/' ('\ u002f'), то абсолютное имя Ресурс - это часть имени, следующего за «/».Иначе, Абсолютное имя имеет следующую форму:

modified_package_name / имя, где modified_package_name Название пакета этого объекта с '/' замещенным для '.('\ u002e').

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top