У меня есть приложение, которое использует несколько файлов конфигурации (давайте просто рассмотрим appli.properties здесь).
Эти файлы содержат несколько значений, которые зависят от среды. Мы можем найти некоторую информацию, такую как:
server.port=${envi.server.port}
С другой стороны, у меня есть набор файлов свойств, по одному на среду (dev.properties, homolo.properties и т. Д.).
Они содержат значения для некоторых свойств в файлах конфигурации. Мы можем найти здесь такого рода свойства:
envi.server.port=4242
Моя сборка обрабатывается Maven2. Все работает нормально.
Однако теперь мне нужно импортировать мой проект в Eclipse.
Мое основное беспокойство связано с фильтрацией файлов конфигурации. Действительно, если я не изменю что-либо в своем параметре Eclipse для моего проекта (после mvn eclipse: eclipse ), тогда весь мой файл конфигурации будет сохранять ключи свойств (то есть ${envi.server.port}
) вместо их ценности. И с такими файлами конфигурации мое приложение не будет работать внутри Eclipse ...
Итак, я попробовал два решения:
- Полное решение Maven с использованием плагина m2eclipse. Я добавляю Maven Builder в конфигурацию проекта, а затем при каждом построении выполняется фильтрация файлов.
- Муравей (который используется только внутри Eclipse). Я вряд ли определил задачу, которая имитирует фильтрацию файлов Maven2 в Ant. Эта задача предназначена только для фильтрации, без компиляции.
Общая проблема этих двух решений состоит в том, что фильтрация выполняется при каждой операции (по существу экономит на выпуске класса Java), а затем занимает время. Второе решение, однако, быстрее (3 секунды), чем первое (более 10 секунд).
Что вы думаете о моем подходе?
Как бы вы сделали это лучше?