2010-01-18 2 views
8

Я использую плагин Maven Appassembler для упаковки своего приложения. Я хотел бы упаковать некоторые файлы конфигурации с приложением. Я нашел параметры configurationDirectory и includeConfigurationDirectoryInClasspath, но я не нашел способ создания (и заполнения) этого каталога конфигурации. Я попытался поместить файлы в src/main/resources, но это просто помещает их в файл jar для моего проекта.Как включить файлы конфигурации с Maven Appassembler?

Что такое «правильный» способ сделать это, используя maven?

ответ

7

К сожалению, это ограничение плагина appassembler в текущей версии. Как правило, плагин используется вместе с плагином сборки для создания финального артефакта, в который вы можете включить ссылку на свой каталог конфигурации. Однако, если вы хотите иметь функциональную структуру только из плагина appassembler, вам нужно вручную скопировать файлы на место. Пример использования плагина antrun с каталогом src/main/conf можно найти здесь: http://svn.apache.org/viewvc/archiva/trunk/archiva-jetty/

+0

Большое спасибо за ant-run :) –

0

Кроме того, это не создает сценарии bin для разных платформ. maven-assembly-plugin может создать (пакет (ы) {tar.gz, zip}) для распространения. Они настраиваются через файл assembly.xml. Вы указываете, какие файлы входят (с какими параметрами (chmod)) и т. Д. Он также может фильтровать файлы (искать/заменять значения внутри них). и т. д.

1

По умолчанию плагин использует каталог src/main/config.

Есть возможность изменить источник для файлов конфигурации с помощью параметра <configurationSourceDirectory>src/main/config</configurationSourceDirectory>

1

Когда я включаю свойство copyConfigurationDirectory, он копирует файлы конфигурации и связки их должным образом.

<configurationDirectory>etc</configurationDirectory> 
    <configurationSourceDirectory>src/main/config</configurationSourceDirectory> 
    <copyConfigurationDirectory>true</copyConfigurationDirectory> 

У меня есть другая проблема. Я хотел бы отфильтровать мои файлы конфигурации перед копированием, что вызывает некоторые проблемы.

+0

У меня такое же требование, но не удалось найти решение для этого – Jasonw

0

Спустя годы и в версии 1.10 плагина теперь имеется опция конфигурации preAssembleDirectory. К сожалению, я не нахожу его достаточно гибким для своих нужд, потому что он копирует непосредственно в сборщик и не позволяет указать путь к целевому каталогу в составе сборщика.

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