除了在我的 pom 中创建一个 war 文件(效果很好)之外,我还尝试创建几个仅包含部分内容的 ZIP 文件。以前,我只有一个 zip 文件,并使用 zip 格式创建了自己的程序集描述符,效果很好。当我想添加第二个具有不同内容的 zip 文件时,我必须将插件更改为多次执行。现在,当我运行它时,我收到一条错误消息,指出未找到程序集描述符并且构建失败。
有趣的是,它实际上正在做它需要做的一切。它创建了 war 文件。它创建了两个 zip 文件,尽管它说它未能这样做。但是这个 Maven 构建是由自动部署过程运行的许多构建之一,如果它收到错误消息,那就不会成功。
这是我的 pom 的插件部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>zip-metricsscnapshot</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<outputDirectory>src/main/webapp/resources</outputDirectory>
<finalName>metricssnapshot</finalName>
<descriptors>
<descriptor>src/main/assembly/zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>zip-metricdetails</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<outputDirectory>src/main/webapp/resources</outputDirectory>
<finalName>metricdetails</finalName>
<descriptors>
<descriptor>src/main/assembly/details-zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
附录:
我使用clean yuicompressor:compress assembly: assembly package运行 Maven 。
我的 src/main/Assembly 目录包含两个文件,zip.xml 和details-zip.xml。除了元素和文件集。这是zip.xml文件:
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 …Run Code Online (Sandbox Code Playgroud)