Maven程序集插件 - 如何使用自定义文件扩展名生成工件?

时间:2016-04-21 18:30:21

标签: maven maven-assembly-plugin

我正在制作一个名为foo.bar.zip的神器......

我的pom.xml插件条目如下所示:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <descriptor>src/assembly/bin.xml</descriptor>
        <finalName>foo.bar</finalName>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
        </execution>
    </executions>
</plugin> 

我的描述符文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<formats>
    <format>zip</format>
</formats>
<fileSets>

etc. etc. 

我的问题是,如何使用自定义扩展程序生成文件?例如。使用名称foo.bar代替foo.bar.zip

2 个答案:

答案 0 :(得分:3)

我通过组合:

解决了这个问题
  1. 行家组装-插件
  2. 复制重命名-行家-插件
  3. 构建辅助-行家-插件
  4. 程序集插件有一个不附加文件的配置选项,所以我这样做:

    <configuration>
        ...
        <attach>false</attach>
    </configuration>
    

    然后我使用copy-rename-maven-pluginassembly-plugin生成的文件从zip重命名为我的自定义文件类型(在我的例子中是CLI)。

    之后我使用build-helper-maven-plugin将工件附加到自定义文件类型。

答案 1 :(得分:1)

Assembly仅支持以下格式:

  

&#34;拉链&#34; - 创建ZIP文件格式

     

&#34;焦油&#34; - 创建TAR格式

     

&#34; tar.gz的&#34;或&#34; tgz&#34; - 创建gzip&#t; d TAR格式

     

&#34; TAR.BZ2&#34;或&#34; tbz2&#34; - 创建一个bzip&lt; tAR格式

     

&#34;罐子&#34; - 创建JAR格式

     

&#34; DIR&#34; - 创建展开的目录格式

     

&#34;战争&#34; - 创建WAR格式

您应该考虑在稍后的目标/阶段中使用antrun plugin来重命名文件扩展名