Ошибка загрузки изображений в подписанном банке, приложении 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, которое загружает изображения для справки.