Каков наилучший способ размещения файлов конфигурации приложений Java? - PullRequest
13 голосов
/ 04 июня 2009

Рекомендуется ли хранить файлы конфигурации в проекте Java. В этом случае тип файла - это файл свойств Java, но я использую другие типы файлов в других проектах.

Может ли рекомендация отличаться от отдельного приложения (.jar) к веб-приложению (.war)?

Ответы [ 3 ]

8 голосов
/ 04 июня 2009

Вы обнаружите, что многие проекты с открытым исходным кодом следуют структуре каталогов , используемой Maven . В этой настройке исходный код вашего приложения хранится в src / main / java, ресурсы приложения, включая файлы свойств, в src / main / resources и другие файлы конфигурации в src / main / config. Файлы, связанные с модульными тестами, используют похожую структуру каталогов; src / test / java и src / test / resources.

Лично я склонен использовать этот макет из-за его широкого использования. Я также держу каталог «etc» под корнем проекта для размещения файлов, которые не имеют прямого отношения к приложению. Например, я храню файлы конфигурации для PMD и Checkstyle в и т. Д.

4 голосов
/ 04 июня 2009

В общем случае обычной практикой является наличие каталога resources для файлов конфигурации, который копируется в артефакт сборки в процессе сборки. Maven использует это в своей структуре проекта по умолчанию . В каталоге resources вы также можете иметь каталог META-INF и / или каталог WEB-INF в приложении, упакованном как war.

1 голос
/ 04 июня 2009

Я использую:

  • META-INF / для баночка файлы
  • WEB-INF / для войны файлов
...