2009-06-04 3 views
13

Есть ли наилучшая практика для того, где файлы конфигурации должны храниться в проекте Java. Тип файла - это файл свойств Java в этом случае, но я использую другие типы файлов в других проектах.Какова наилучшая практика для размещения файлов конфигурации приложений Java?

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

+0

Вы хотите иметь возможность изменить конфигурацию после сборки или хотите, чтобы конфигурация была частью файла .jar/.war, которую вы строить? – ScArcher2

+0

@ ScArcher2, для нашего выпуска продукции здесь мы делаем запросы на выпуск, поэтому изменение конфигурационного файла является такой же сложной задачей, как и весь пакетный файл. Итак, я предпочел сохранить конфигурацию в пакете –

ответ

8

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

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

4

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

1

Я использую:

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

Является ли meta-inf по умолчанию для класса? –

 Смежные вопросы

  • Нет связанных вопросов^_^