2012-05-29 87 views
6

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

lib-oracle lib-mysql lib-sqlserver 。 。

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

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

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

,但我想知道是否有任何方式将它们全部复制起来呢?
也许是这样的:

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

回答

11

最后我成功做到这一点:

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

如果您想要选择任何级别的子文件夹,请使用lib **/*。 – Lori

+0

这只复制文件夹。如何在任何级别上复制文件夹和文件? – Aparna

2

你可以做

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

即使这将让你得到所有数据在目标文件夹内。

1

您可以使用:

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

“**”表示在当前文件夹中的所有文件,并在当前文件夹的子文件夹中的所有文件。

相关问题