使用通配符使用maven-assembly-plugin复制文件夹

时间:2012-05-29 06:09:25

标签: maven maven-assembly-plugin

我正在使用maven-assembly-plugin来收集.tar.gz文件中的一些文件和文件夹。在我的目标目录中,我有一些带有这些名称的文件夹(例如):

LIB-预言 LIB-mysql的 LIB-SQLSERVER 。

并且每个文件夹都包含一些jar文件。

我想将这些文件夹(以及它们的内容)复制到最终的.tar.gz文件中。我知道我可以像这样单独复制它们:

<fileSet>
    <directory>target/lib-oracle</directory>
    <outputDirectory>lib-oracle</outputDirectory>
</fileSet>

但我很想知道是否有办法将它们全部复制在一起?
也许是这样的:

<fileSet>
    <directory>target/lib*</directory>
</fileSet>

4 个答案:

答案 0 :(得分:11)

最后我成功地做到了:

<fileSet>
        <directory>target</directory>
        <includes>
            <include>lib*/*</include>
        </includes>
        <outputDirectory>/</outputDirectory>
    </fileSet>

答案 1 :(得分:2)

你可以做到

<fileSet>
    <directory>target/</directory>
    <outputDirectory>lib-oracle</outputDirectory>
</fileSet>`

即使这样,您也可以从目标文件夹中获取所有数据。

答案 2 :(得分:1)

您可以使用:

<fileSet>
    <directory>target</directory>
    <includes>
        <include>lib-oracle/**</include>
        <outputDirectory>/</outputDirectory>
    </includes>
</fileSet>

&#39; **&#39;表示当前文件夹中的所有文件以及当前文件夹的子文件夹中的所有文件。

答案 3 :(得分:0)

我测试了此配置

<include>**/*</include>

,它将复制子文件夹中的所有子文件夹和文件,但空子文件夹除外。我认为这是足够的逻辑。