Сборщик приложений Maven, сборка и путь к классу: конфликт каталогов конфигурации
Я использую подключаемый модуль Maven приложения-ассемблера для создания установки моего Java-приложения. Я хочу, чтобы некоторые данные (свойства и некоторые пользовательские данные) были доступны в файловой системе, а не в любом файле Jar.
Приложение-ассемблер позволяет мне сделать это, добавив config
каталог к пути к классам.
Содержание того же config
каталог необходим для запуска некоторых моих тестов. Поэтому я объявляю этот каталог ресурсом в моей конфигурации Maven.
Вот где происходит отключение: если я установлю targetPath моего ресурса каталога конфигурации в "config", плагин сборки (не app-ассемблер) будет очень легко подобрать его для упаковки, но URL-адрес classpath будет другим между развернутым приложением и Eclipse: развернутое приложение будет думать, что URL-адрес classpath:/default.properties
в то время как внутри Eclipse URL-адрес classpath:/config/default.properties
, Если я сделаю целевой путь пустым (устанавливается непосредственно под classes
URL-адреса пути к классам совпадают между Eclipse и развернутой средой, но нет хорошего способа выбрать данные конфигурации в конфигурации модуля сборки.
На данный момент я собираюсь со вторым вариантом, и поместить в config
каталог все от classes
это не класс.
Лучшим решением может быть создание другого каталога classpath в Maven, аналогичного classes
а также test-classes
, но я не уверен, как это сделать.
Итак, у меня есть два вопроса:
- мне не хватает чего-то очевидного в плагинах ресурсов, сборок и приложений-ассемблера?
- или если нет, то как я могу добавить
config
каталог к classpath в среде Maven/Eclipse так же, как он добавляется сценариями приложения-ассемблера в развернутой среде?
Используемые версии: Maven3, сборщик приложений 1.2.2,