使用通配符使用maven程序集插件复制文件夹

使用通配符使用maven程序集插件复制文件夹,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,我正在使用maven assembly插件收集.tar.gz文件中的一些文件和文件夹。在我的目标目录中,我有一些具有以下名称的文件夹(例如): 库甲骨文 lib-mysql 库sqlserver . 每个文件夹都包含一些jar文件 我想将这些文件夹(以及其中的内容)复制到最终的.tar.gz文件中。我知道我可以像这样单独复制它们: <fileSet> <directory>target/lib-oracle</directory> <o

我正在使用maven assembly插件收集.tar.gz文件中的一些文件和文件夹。在我的目标目录中,我有一些具有以下名称的文件夹(例如):

库甲骨文 lib-mysql 库sqlserver .

每个文件夹都包含一些jar文件

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

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

目标/库oracle
库甲骨文
但我很想知道是否有办法将它们全部复制到一起?
也许是这样的:

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

目标/库*

最后我成功地做到了:

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

目标
解放党*/*
/
您可以这样做

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

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

您可以使用:

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

目标
库甲骨文/**
/

“**”表示当前文件夹中的所有文件以及当前文件夹子文件夹中的所有文件。

我测试了此配置

<include>**/*</include>
**/*

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

如果您想选择任何级别的子文件夹,请使用lib**/*。这只会复制文件夹。如何在任何级别复制文件夹和文件?