多模块项目 - 组装插件

use*_*947 6 maven-2 maven-plugin

我正在使用Maven 2.0.9来构建一个多模块项目.我在父pom中定义了程序集插件.我可以使用构建的程序集

mvn install assembly:assembly
Run Code Online (Sandbox Code Playgroud)

此命令运行测试两次,一次在安装阶段,另一次在组装期间.我尝试了汇编:单一,但它会抛出一个错误.在不运行测试两次的情况下构建程序集的任何帮助都非常感谢.

Pas*_*ent 7

调用程序集mojo将导致Maven使用正常生命周期构建项目,直到package阶段.所以,当你运行:

mvn install assembly:assembly
Run Code Online (Sandbox Code Playgroud)

你实际上是在告诉maven两次运行一些东西,这包括测试阶段,你可以在默认生命周期的文档中看到.

为避免这种情况,请考虑仅运行:

mvn assembly:assembly
Run Code Online (Sandbox Code Playgroud)

或者在项目的构建生命周期中绑定插件:

<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>
Run Code Online (Sandbox Code Playgroud)