2013-03-06 5 views
2

У меня есть мультимодульный проект maven, в том числе отдельный сборка-проект. Поскольку я разрабатываю и запускаю свое приложение из eclipse (во время разработки), у меня есть определенные конфигурационные файлы (например, log4j или другие файлы свойств) в моем основном модуле (который содержит основной класс). Эти файлы содержат информацию о времени разработки. Проект сборки содержит каждый из конфигурационных файлов для производства. Затем собранный продукт должен использовать эти конфиги. Это моя текущая настройка:Maven Assembly: лучший способ конфигурации файлов

MainModule/src/main/resources 
    +configA.properties 
    +log4j.properties 
Module1/src/main/resources 
    +configB.properties 
AssemblyProj/src/main/resources 
    +configA.properties 
    +configB.properties 
    +log4j.properties 

И генерируемый проект имеет такую ​​структуру:

libs/ 
    +MainModule.jar 
    +Module1.jar 
configs/ 
    +configA.properties 
    +configB.properties 
    +log4j.properties 

конфиг-каталог накладки конфиг-файлы в каждом * .jar из пути к классам, т.е.

java -cp configs/;libs/* My.Main.Class 

Теперь проблема в том, что в каждой банке все еще есть все dev-config. Также у меня есть плохое чувство об использовании этого метода overlay-classpath. Существует ли какая-либо практика, как это сделать лучше?

+0

Предположительно, вопросы по лучшей практике не рекомендуется на SO – Dariusz

ответ

2

Извлеките эти ресурсы в classifier-зависимые зависимости для каждого из указанных модулей. Затем определите <profiles/>, которые инициируют их использование. В вашей сборке используйте классификаторы по мере необходимости.

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