Maven:创建包含项目外文件的存档(zip或jar)文件?

时间:2013-01-31 15:53:56

标签: maven maven-3 maven-assembly-plugin

我目前正在开发一个基于Maven的项目,我在其中进行生成PDF文件的单元测试,比如说“C:/ result”目录(我绝对不希望在任何目录中创建这些文件)我的项目)。

使用maven-assembly插件,是否可以创建一个归档文件(最好是zip或jar)来收集在“C:/ result”中生成的文件?

基本上,每次部署新版本的项目时,我的目标都是将此档案作为常规人工制品上传到Nexus服务器上。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您需要定义类似于以下内容的程序集描述符:

<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>bin</id>
    <formats>
        <format>zip</format>
    </formats>
    <baseDirectory>C:/</baseDirectory>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>results</directory>
            <outputDirectory>./doc</outputDirectory>
        </fileSet>
    </fileSets>
</assembly>

保存,例如如src/assembly/bin.xml,它将从pom中引用。 pom将包含在build部分中:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
        <execution>
            <id>out</id>
            <configuration>
                <descriptors>
                    <descriptor>src/assembly/bin.xml</descriptor>
                </descriptors>
            </configuration>
            <phase>verify</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

有关详情,请参阅maven assembly documentation