您好我有一个mvn
子模块,其唯一目的是从各种其他模块中收集jar并创建一个包含所有依赖项和配置的zip文件。
<parent>
<artifactId>foo</artifactId>
<groupId>com.foo</groupId>
<version>0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dist</artifactId>
<packaging>pom</packaging>
<name>dist</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>generate zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
现在,如果我使用mvn assembly:assembly
,则会创建所需的zip
文件。但是,如果我使用mvn package
它没有做任何事情,即它没有创建zip文件。只需给出以下输出并完成。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building dist 0.1
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.120s
[INFO] Finished at: Mon Jul 15 16:34:09 IST 2013
[INFO] Final Memory: 5M/92M
[INFO] ------------------------------------------------------------------------
知道为什么这不起作用的任何想法。我在这里失踪的是什么 感谢您提前获得所有帮助。
答案 0 :(得分:2)
正如罗伯特提到的,你必须从插件管理中移出你的插件。试试这样的事情
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>generate zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
希望这有帮助
答案 1 :(得分:1)
这不是pluginManagement的工作原理。您应该至少定义为标准构建插件。 在生命周期中,Maven将使用其默认值,并通过build-plugins查看是否有绑定到某个阶段的插件。如果它找到了一个插件,它将查看相同插件的pluginManagement以查看是否有其他配置。