Ошибка загрузки изображений в подписанном банке, приложении JNLP

Я разрабатываю приложение JNLP и использую плагин maven-webstart для создания JNLP. Когда приложение запускается в моем локальном приложении, оно работает правильно, но когда я запускаю на Tomcat Server с использованием jnlp, оно не загружает изображения, а также не выдает никаких исключений.

Я загружаю изображения, как показано ниже

new ImageIcon(getClass().getResource("/icons/save.png"))

Что не так с моим кодом?

2 ответа

Где находятся ваши иконки? Как вы запускаете приложение jnlp внутри Tomcat? Если у вас мало изображений, вы можете упаковать их в один из ваших пакетов. Просто создайте пакет с именем com.yourproject.resources и поместите туда несколько изображений. Тогда способ получить к ним доступ: // определить его в некотором классе

public URL obtainImageResource ( String nameOfResource )
    {
        return getClass().getResource( "/com/yourproject/resources/" + nameOfResource );
    }

Получите их с URL. Затем, чтобы создать то, что вам нужно:

BufferedImage yourImage = ImageIO.read( yourclaass.obtainImageResource( "yourimagepng.png" ).openStream() );

Обратите внимание на некоторые вещи: в моей настройке вам нужно упаковать ваши изображения в вашу банку.

Трудно сказать без дополнительной информации. Вы могли бы использовать jar -tf чтобы увидеть, есть ли изображения в файле JAR. А пока вот работающее приложение JWS, которое загружает изображения для справки.

Другие вопросы по тегам