Сборщик приложений Maven, сборка и путь к классу: конфликт каталогов конфигурации

Я использую подключаемый модуль Maven приложения-ассемблера для создания установки моего Java-приложения. Я хочу, чтобы некоторые данные (свойства и некоторые пользовательские данные) были доступны в файловой системе, а не в любом файле Jar.

Приложение-ассемблер позволяет мне сделать это, добавив config каталог к ​​пути к классам.

Содержание того же config каталог необходим для запуска некоторых моих тестов. Поэтому я объявляю этот каталог ресурсом в моей конфигурации Maven.

Вот где происходит отключение: если я установлю targetPath моего ресурса каталога конфигурации в "config", плагин сборки (не app-ассемблер) будет очень легко подобрать его для упаковки, но URL-адрес classpath будет другим между развернутым приложением и Eclipse: развернутое приложение будет думать, что URL-адрес classpath:/default.propertiesв то время как внутри Eclipse URL-адрес classpath:/config/default.properties, Если я сделаю целевой путь пустым (устанавливается непосредственно под classesURL-адреса пути к классам совпадают между Eclipse и развернутой средой, но нет хорошего способа выбрать данные конфигурации в конфигурации модуля сборки.

На данный момент я собираюсь со вторым вариантом, и поместить в config каталог все от classes это не класс.

Лучшим решением может быть создание другого каталога classpath в Maven, аналогичного classes а также test-classes, но я не уверен, как это сделать.

Итак, у меня есть два вопроса:

  • мне не хватает чего-то очевидного в плагинах ресурсов, сборок и приложений-ассемблера?
  • или если нет, то как я могу добавить config каталог к ​​classpath в среде Maven/Eclipse так же, как он добавляется сценариями приложения-ассемблера в развернутой среде?

Используемые версии: Maven3, сборщик приложений 1.2.2,

0 ответов

Другие вопросы по тегам