Maven Assembly插件创建一个zip文件

时间:2016-05-18 07:05:00

标签: java maven

我有一个像

这样的项目结构
src
----main
    -----resources
          -- 1.xml
          -- 2.xml

现在我需要创建一个只包含xml文件的zip文件。

我的pom.xml如下所示。

 <groupId>tasks</groupId>
    <artifactId>resources</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <descriptors>
                    <descriptor>zip.xml</descriptor>
                </descriptors>
            </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>
    </plugins>
</build>

我的zip.xml文件如下所示

<baseDirectory>/</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory>/</outputDirectory>
        </fileSet>
    </fileSets>

但是当我做mvn clean安装时,会创建一个包含以下目录的zip文件。

archive-tmp
classes
maven-archiver
resources-1.0-SNAPSHOT.jar

xml文件位于classes文件夹中。

如何才能获取zip文件中的xml文件?

1 个答案:

答案 0 :(得分:0)

通过修改zip.xml来解决问题,如下所示

<baseDirectory>/</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>src/main/resources/</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>*.xml</include>
            </includes>
        </fileSet>
    </fileSets>