Вопрос:

В исполняемых файлах JAR отсутствуют изображения / файлы (ресурсы)

java eclipse jar

21628 просмотра

5 ответа

786 Репутация автора

Когда я экспортирую свой код как исполняемый JAR из затмения, все файлы, которые я установил для захвата, такие как изображения кнопок и другие файлы, отсутствуют, даже если они на самом деле находятся в JAR. Я добавил getClass().getResourceперед файлами, но потом, когда я пытаюсь запустить JAR, ничего не происходит, какие-либо предложения?

Автор: John Источник Размещён: 22.01.2012 10:15

Ответы (5)


1 плюс

58593 Репутация автора

Путь должен быть правильным для ресурса.

Чтобы "foo.gif" находился в корне фляги, вы должны обратиться к нему, используя "/foo.gif".

Если программа работает правильно после полной очистки и перестроения, но не работает как jar, скорее всего, у вас нет файлов, включенных в jar.

Автор: Thorbjørn Ravn Andersen Размещён: 22.01.2012 10:35

22 плюса

22804 Репутация автора

Решение

Похоже, вы не правильно расставляете свои вещи. Чтобы заставить его работать, выполните следующие действия:

  1. Щелкните правой кнопкой мыши ваш Projectвход Project Explorer Tree.
  2. Перейти к , New -> Source Folderа затем предоставить любой Nameк Source Folder.
  3. Теперь вручную добавить свой материал на это Source Folderтак , созданный вами, как если вы хотите добавить изображения , то сделать New Folder, вручную посетить это Source Folderчерез File System.
  4. Назовите это New Folderкак imagesи скопируйте ваши изображения в это Folder.
  5. Теперь вернитесь к Eclipse IDE и Refreshваш Projectиз проводника проекта, щелкнув правой кнопкой мыши проект, здесь вы сможете увидеть свой добавленный контент Теперь после обновления.

Теперь для доступа, скажем, к любому изображению, вы будете использовать.

getClass().getResource("/images/yourImageName.extension");

который вернет один объект URL. first forward slashВ этом случае помните , что с помощью этого можно получить доступ ко всему, что находится внутри вашей исходной папки, в более простых терминах. Теперь, когда вы запустите ваш проект, содержимое этой исходной папки будет автоматически добавлено в папку bin, а когда вы создадите Runnable Jar, то содержимое вашей исходной папки будет доступно как есть.

Автор: nIcE cOw Размещён: 14.02.2012 02:05

0 плюса

0 Репутация автора

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

Автор: user2675678 Размещён: 17.08.2013 11:20

0 плюса

1 Репутация автора

Вам нужно получить изображения, используя поток, подобный этому - this.class.getClassLoader (). GetResourceAsStream ("test.jpg") и убедиться, что изображения присутствуют в банке, на которую вы ссылаетесь.

Автор: Ashwani Размещён: 19.11.2013 01:04

0 плюса

61 Репутация автора

Как сказал nIcE cOw , вам просто нужно создать исходную папку в вашем дереве Project Explorer. Все файлы в этой папке будут находиться в корневой папке проекта.

Чтобы ссылаться на них, вы должны написать имя вашего проекта косую черту имени файла, как это:

getClass().getResource("ProjectName/image.extension");

Надеюсь, это поможет!

Автор: javixanxez Размещён: 04.02.2014 02:55
Вопросы из категории :
32x32