我正在使用Maven 2.0.9构建多模块项目。我已经在我父母的团队中定义了程序集插件。我可以使用我的组件构建我的组件多模块项目 - 汇编插件
mvn install assembly:assembly
此命令运行两次测试,一次在安装阶段和另一次在组装过程中。我试过汇编:单一但它会引发错误。非常感谢任何帮助让我的程序集生成而不运行两次测试。
我正在使用Maven 2.0.9构建多模块项目。我已经在我父母的团队中定义了程序集插件。我可以使用我的组件构建我的组件多模块项目 - 汇编插件
mvn install assembly:assembly
此命令运行两次测试,一次在安装阶段和另一次在组装过程中。我试过汇编:单一但它会引发错误。非常感谢任何帮助让我的程序集生成而不运行两次测试。
调用组件mojo将导致Maven使用正常生命周期来构建项目,直到package
阶段。所以,当你运行:
mvn install assembly:assembly
你实际上是告诉Maven来运行的几件事情的两倍,这包括测试阶段,你可以在默认的生命周期的documentation看到。
为了避免这种情况,只考虑运行:
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>
嗨,Pascal Thivent:你的回答帮助我理解了mvn安装程序集:程序集和mvn程序集:程序集之间的区别。你能帮我理解mvn assembly:assembly和mvn package assembly:assembly之间的区别吗? – Patricia 2015-10-17 17:23:56
我认为错误消息是误导性的,它表明你需要运行作为程序集插件的调用本身,SAME maven调用中的“包”阶段。
你试过“mvn package assembly:assembly”还是“mvn install assembly assembly”?
适用于Linux下的我,JDK 1.6.0_16,Maven 2.2.1,Assembly Plugin 2.2-beta-4。
上面提到的POM片段(绑定程序集插件到'ackage阶段)应该同样工作,请记住,那么您不需要在命令行上显式调用程序集插件。 'mvn package'(或'mvn install')也会自动创建程序集。不知道我是否曾经以这种方式使用过程序集插件。我通常明确地调用它,因为我经常不关心正在生成的程序集。 – JavaGuy 2010-01-21 22:17:58
我把程序集插件打包或安装,ram mvn install或者mvn程序包。还是一样的错误。这只发生在多模块项目中。 – user209947 2010-01-24 16:19:50
您需要为多模块项目中的装配创建单独的项目。 这个单独的模块将只是组装 - 它将有依赖关系:应该被添加到结果程序集中的同胞。
请阅读这篇文章: http://www.sonatype.com/books/mvnref-book/reference/assemblies-sect-best-practices.html
请提供错误。没有它,很难说什么。 – 2009-11-15 10:31:45