Multi Module Project - сборочный плагин - PullRequest
6 голосов
/ 15 ноября 2009

Я использую Maven 2.0.9 для создания многомодульного проекта. Я определил плагин сборки в моем родительском пом. Я могу собрать свои сборки, используя

mvn install assembly:assembly

Эта команда запускает тесты дважды: один раз на этапе установки, а другой - на этапе сборки. Я пробовал сборку: одиночный, но выдает ошибку. Любая помощь в сборке моих сборок без повторного запуска тестов очень ценится.

Ответы [ 3 ]

7 голосов
/ 15 ноября 2009

Вызов сборки mojo приведет к тому, что Maven соберет проект, используя обычный жизненный цикл, вплоть до фазы package. Итак, когда вы запускаете:

mvn install assembly:assembly

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

Чтобы избежать этого, подумайте только о запуске:

mvn assembly:assembly

Или связать плагин в жизненном цикле сборки проекта:

<project>
  ...
  <build>
    ...
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          ...
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- append to the packaging phase. -->
            <goals>
              <goal>single</goal> <!-- goals == mojos -->
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
</project>
1 голос
/ 17 января 2011

Вам необходимо создать отдельный проект для сборки в многомодульном проекте. Этот отдельный модуль будет просто сборкой - и у него будут зависимости: братья и сестры, которые должны быть добавлены в результирующую сборку.

Пожалуйста, прочитайте эту статью: http://www.sonatype.com/books/mvnref-book/reference/assemblies-sect-best-practices.html

1 голос
/ 22 января 2010

Я думаю, что сообщение об ошибке вводит в заблуждение, оно говорит о том, что вам нужно запустить фазу «package» в рамках ТОГО ЖЕ вызова maven как сам вызов плагина сборки.

Вы пробовали "mvn пакет сборка: сборка" или "mvn install сборка: сборка"?

У меня работает под Linux, JDK 1.6.0_16, Maven 2.2.1, плагин сборки 2.2-бета-4.

...