В сборку maven включены все зависимости подмодулей без "уже добавлено, пропуск" - PullRequest
1 голос
/ 06 февраля 2011

Итак, у меня есть родительский модуль с кучей подмодулей, и я пытаюсь создать zip-файл со всеми jar-файлами модуля и всеми их зависимостями.Мой дескриптор сборки выглядит так (похоже на этот вопрос ):

<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>bin</id>
    <formats>
        <format>zip</format>
    </formats>
    <moduleSets>
        <moduleSet>
            <useAllReactorProjects>true</useAllReactorProjects>
            <binaries>
                <outputDirectory>/</outputDirectory>
                <unpack>false</unpack>
                <dependencySets>
                    <dependencySet>
                        <outputDirectory>lib</outputDirectory>
                        <unpack>false</unpack>
                        <scope>runtime</scope>
                    </dependencySet>
                </dependencySets>
            </binaries>
        </moduleSet>
    </moduleSets>
</assembly>

Теперь и в maven 2, и в maven 3 я вижу сотни сообщений, которые выглядят так:

[INFO] distribution-0.5.1-SNAPSHOT/lib/commons-lang-2.4.jar already added, skipping
[INFO] distribution-0.5.1-SNAPSHOT/lib/spring-core-3.0.3.RELEASE.jar already added, skipping
[INFO] distribution-0.5.1-SNAPSHOT/lib/commons-logging-1.0.4.jar already added, skipping
[INFO] distribution-0.5.1-SNAPSHOT/lib/args4j-2.0.12.jar already added, skipping
[INFO] distribution-0.5.1-SNAPSHOT/lib/collections-generic-4.01.jar already added, skipping

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

Есть ли способ, которым я могу удержать maven от попыток скопировать одни и те же зависимости несколько раз?Или, по крайней мере, скрыть эти «уже добавленные, пропускающие» сообщения при попытке?

1 Ответ

1 голос
/ 07 февраля 2011

Я сомневаюсь, что существует что-либо, что позволяет плагину Maven Assembly отключаться. Это было бы хорошим вариантом для предоставления.

С другой стороны, вы можете попросить Maven подавить весь вывод и запустить в режиме quiet .

mvn -h
usage: mvn [options] [<goal(s)>] [<phase(s)>]
Options:
  -q,--quiet    Quiet output - only show errors

1010 * Е.Г. *

mvn -q clean package

Но вы также потеряете всю другую информацию о времени сборки.

...