使用pom中的maven程序集插件将zip文件清空

时间:2017-02-02 11:36:28

标签: maven maven-assembly-plugin

我的pom.xml,但我写了类似

的内容
.......
..........
    <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.3</version>
            <configuration>
                <finalName>${project.artifactId}</finalName>
                <descriptor>assembly.xml</descriptor>
            </configuration>
            <executions>
                <execution>
                    <id>create-archive</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
    </plugin>
..........
.......

我的assembly.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 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>${project.version}</id>
    <includeBaseDirectory>false</includeBaseDirectory>
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>
        <fileSet>
            <directory>${project.basedir}/${create.stage.directory}</directory>
             <includes>
                <include>*.*</include>
            </includes>
            <outputDirectory>${project.basedir}/${create.release.directory}</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

这会在目标中创建一个EMPTY foldername.zip !!不在我已经提供的输出文件夹位置。它总是以目标为目标吗?我不能覆盖? 但是在给定的目录路径中我有3个文件夹(其中有一些文件)和readme.txt.I只是尝试在包含标签的内部提供* .txt仍然我有空的zip文件夹。我最初猜测我的目录路径和输出目录路径可能是错误的。我直接硬编码仍然没有运气。

请帮助(这个问题不是重复但类似,我已经尝试了几乎所有与此相关的stackoverflow问题。他们没有解决任何问题)

1 个答案:

答案 0 :(得分:1)

有关详细信息,请参阅http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html#class_fileSet

您的描述符现在配置如下:

  • 创建名为${project.artifactId}
  • 的拉链
  • 从目录${project.basedir}/${create.stage.directory}中放入所有带扩展名的文件(不是目录,因为它显示为*.*,而不是**/*.*文件夹里面的${project.basedir}/${create.release.directory} 拉链。

特别是最后一部分很奇怪。 zip中的哪些文件应该以这些文件结尾?它应该是相对路径,以使其可预测。

不喜欢在目标中创建的zip文件?在插件配置中设置outputDirectory,而不是在程序集描述符中。