Экспорт файла JAR в Eclipse и ссылка на файл - PullRequest
1 голос
/ 24 марта 2012

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

URL logoPath = new MainApplication().getClass().getClassLoader().getResource("img/logo.jpg");

Используя этот метод, я получаю URL для файла и преобразую его в строку. Затем мне нужно подстроковать это на 5, чтобы избавиться от этого выходного файла ": / C: /Users/Stephen/git/ILLA/PoC/bin/img/logo.jpg"

Однако, когда я экспортирую это как банку и запускаю, у меня возникают проблемы. URL теперь читается как /ILLA.jar!/, и мое изображение просто пустое. У меня такое чувство, что меня это сбивает с толку, так как мне это исправить?

Приветствия

Ответы [ 2 ]

1 голос
/ 24 марта 2012

См. Здесь: Создание объекта файла из пути ресурса к изображению в файле JAR

String imgName = "/resources/images/image.jpg";
InputStream in = getClass().getResourceAsStream(imgName);
ImageIcon img = new ImageIcon(ImageIO.read(in));

Обратите внимание, что вам нужно использовать поток для ресурса внутри архива.

1 голос
/ 24 марта 2012

Вы почти у цели.

Изображения в банке рассматриваются как ресурсы. Вы должны ссылаться на них, используя classpath Просто используйте getClass (). GetResource: что-то вроде:

GetClass () getResource ( "/ изображений / logo.jpg")). где «images» - это пакет внутри jar-файла с путем, указанным выше

см. Ведущий / в вызове - это поможет правильно получить доступ к пути (используя абсолютный вместо относительного). Просто убедитесь, что путь правильный

Также см .:

Как включить все изображения в jar-файл, используя eclipse

...