使用Maven创建ZIP存档

sed*_*dge 10 zip maven-2

我在这里按照了如何在Maven中创建ZIP存档的答案:https://stackoverflow.com/a/2514677/1395165 并提出了几个后续问题:

ZIP内容以排除目录:

如在我的例子中:

<fileSet>
    <directory>${project.basedir}/src/export</directory>
    <useDefaultExcludes>true</useDefaultExcludes>
</fileSet>
Run Code Online (Sandbox Code Playgroud)

在ZIP中,我得到了

src
  export
     Dir1
     Dir2
Run Code Online (Sandbox Code Playgroud)

但我只想拥有

Dir1
Dir2 
Run Code Online (Sandbox Code Playgroud)

在ZIP中.那可能吗?

输出文件名

输出文件名使用.zip扩展名创建.是否有可能在Maven中将扩展名覆盖为其他内容(例如.abc)?

Ray*_*y M 15

outputDirectory选项可用于更改文件输出到的程序集中的目录 - 这应该可以满足您的需要:

<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>
<fileSets>
    <fileSet>
        <directory>${project.basedir}/ScriptedBuild/rConnect/extract/</directory>
        <useDefaultExcludes>true</useDefaultExcludes>
        <outputDirectory>/</outputDirectory>
    </fileSet>
</fileSets>
</assembly> 
Run Code Online (Sandbox Code Playgroud)


Gre*_*eek 1

将 includeBaseDirectory 设置为 false - 请参阅http://maven.apache.org/plugins/maven- assembly-plugin/ assembly.html