В Java, где в иерархии пакетов / источников должны размещаться ресурсы? - PullRequest
6 голосов
/ 23 июня 2009

Допустим, я разработал игру и поместил ее в структуру пакета:

com.dxmio.games.breakout

Где же тогда место "наилучшей практики" для размещения ресурсов, таких как аудио и изображения, которые использует игра?

Ответы [ 2 ]

15 голосов
/ 23 июня 2009

Вы всегда можете принять стандартный подход Maven к своему проекту и поместить все исходные файлы приложения в

{дом} / SRC / главная / Java / COM / dmxio / игры / прорыве

и тогда ваши ресурсы живут в

{дом} / SRC / основные / ресурсы / ком / dmxio / игры / прорыве

Ваши тесты затем живут в:

{дом} / SRC / тест / Java / COM / dmxio / игры / прорыве

Эта структура является стандартным соглашением для структурирования проектов в мире Maven. Это дает много преимуществ, которые вы можете захотеть посмотреть. Вы можете проверить раздел ресурсов здесь:

http://maven.apache.org/guides/getting-started/index.html#How_do_I_add_resources_to_my_JAR

В качестве альтернативы :) другой подход здесь просто отлично ...

9 голосов
/ 23 июня 2009

Я видел, что это обрабатывается разными способами:

  • Разместите свои ресурсы прямо в подкаталог под com / dmxio / games / breakout (например, /com/dmxio/games/breakout/images/foo.gif а также /com/dmxio/games/breakout/images/bar.gif)
  • Поместите свои ресурсы в банку вдоль с вашими файлами классов (например, foo.gif и bar.gif в комплекте в breakout.jar)
  • Разместите свои ресурсы в отдельном 'jar ресурсов' в подкаталоге под com / dmxio / games / breakout (например, foo.gif и bar.gif в комплекте /com/dmxio/games/breakout/images/images.jar)

Я предпочитаю последний вариант.

Затем вы можете использовать метод java.lang.Class.getResource () для получения ваших ресурсов.

...