У меня есть простой проект Java Maven.Один из моих классов при выполнении должен загрузить файл конфигурации xml из пути к классам.Я не хочу упаковывать такой xml-файл при создании jar-файла, но я хочу включить xml-файл по умолчанию в сборку zip в подпапке conf, и я также хочу, чтобы этот xml-файл по умолчанию был доступен в модульных тестах, чтобы проверить его.
На мой взгляд, есть два возможных места этого xml по умолчанию:
src/main/resources/conf/default.xml
src/main/conf/default.xml
Оба решения требуют специальных действий pom:
В решении 1 я получаю автоматическое копирование в целевую папку во время сборки, что означает, что оно доступно в тестировании, но я также получаю его в созданном банке, которыйя не хочу
В решении 2 я получаю банку так, как хочу (без xml), но мне нужно вручную скопировать xml в целевую папку, чтобы она была доступна для тестирования.(Я не хочу добавлять подпапки src в тестовый путь к классам. Я думаю, что это плохая практика).
Вопрос: какое из них лучшее решение?
- Если верным является 2, каков наилучший способ скопировать его в целевую папку?
- Есть ли какое-либо другое решение лучше и более распространенное, чем эти два?
(я также прочитал Где я должен поместить файлы конфигурации приложения для проекта Maven? , но я хотел бы знать наиболее «правильное решение» с точки зрения «соглашения поверх конфигурации», и эта ссылка предоставляет некоторые решения типа конфигурации, но неЛюбое соглашение ориентировано. Может быть, нет ни одного, но я все равно спрашиваю. Также предоставляются решения, включающие плагин AntRun и плагин appAssembler, и мне интересно, смогу ли я сделать это без них.)