2009-09-11 3 views
6

Я строю проект Maven, который имеет полдюжины модулей.Создание архива всех банок и исходных банок для проекта с несколькими модулями

Я в порядке с импортом самостоятельно, используя Maven или Ivy, но другие команды хотели бы использовать эти банки, но их практика заключается в том, чтобы блокировать банки и исходные банки до контроля версий.

Я хотел бы создать zip/tar-сборку всех модулей и их источников, которые они могут использовать, как им нравится.

Я прочитал Maven Assembly Plugin: Including Module Binaries, но я стеснялся использовать его, потому что:

  1. linked FAQ entry возвращает 404;
  2. Мне нужно указать все модули вручную.

Есть ли альтернатива?


Update: Я попытался с помощью встроенных в сборке дескрипторы

mvn assembly:assembly -DprojectModulesOnly=true 
mvn assembly:assembly 

и оба потерпели неудачу с

[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failed to create assembly: Error creating assembly archive bin: You must set at least one file. 

сразу же после всего модуля сборки уже запущена.

+0

У меня такая же проблема (и ровно 1 год, через 2 дня связанный FAQ по-прежнему равен 404) – Justin

ответ

-4

Похоже, что вам нужен сервер сборки. Я был на JavaZone 2009 на этой неделе и посмотрел на Hudson CI http://hudson-ci.org/

Сервер создаст артефакты, которые вы или другие команды можете использовать/загружать.

+0

Спасибо за ответ. Я на самом деле использую Hudson, но я хотел бы сделать это с Maven, так как не нашел способ создать почтовый индекс всех банок из Hudson. –

0

Посмотрите на How to use assembly:assembly using predefined descriptor ids. Я думаю, что bin и srcpre-defined descriptor files - вот что вам нужно.

+0

Похоже, что сборка-сборщик не смог найти ничего для сборки. Не могли бы вы предоставить раздел конфигурации maven-assembly-plugin и дескриптор сборки? –

+0

Первая ссылка мертва. –

4

Я думаю, что вы на правильных строках, опции modulesSets плагина сборки обрабатывают то, что вам нужно.

Если вы ищете какую-то полезную документацию, то в разделе книги Maven вы найдете полную информацию, в том числе о том, как настраивать, включать и исключать, обрабатывать двоичные файлы и источники, а также исключать внешние зависимости.

1

У меня была эта проблема, для меня, раствор не помещайте / в начале вашего <fileset><directory>

Если вы сделаете это будет работать на Windows, а не на Unix/Linux!

<fileSet> 
    <directory>src/main/</directory> 
    <outputDirectory></outputDirectory> 
    <includes> 
    <include>VERSION</include> 
    </includes> 
</fileSet> 

работы, тогда как

<fileSet> 
    <directory>/src/main/</directory> 
    <outputDirectory></outputDirectory> 
    <includes> 
    <include>VERSION</include> 
    </includes> 
</fileSet> 

вызывает

[ОШИБКА] Не удалось выполнить голов org.apache.maven.plugins: Maven-сборка-плагин: 2.3: одна (Execution- pluggin-assembly) в проекте test3: Не удалось создать сборку: Ошибка при сборе сборки сборки: вы должны установить хотя бы один файл.-> [Помощь 1]

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