2011-04-22 62 views
0

我遇到了文件集中的模式問題。 這個明確的組裝工作:Maven組裝模式匹配

<fileSet> 
     <directory>stp-arina-adapter-ny-dev-d1</directory> 
     <!-- <directory>*d1/**</directory> --> 
     <outputDirectory></outputDirectory> 
     <includes> 
      <include>target/*gz</include> 
     </includes> 
    </fileSet> 

但我需要一個更通用的解決方案

<!-- <directory>*stp-arina-adapter-ny-dev-d1</directory> --> 
    <directory>*d1</directory> 

使用通配符我是希望的意思是 「目錄D1結束」,我得到

[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failed to create assembly: Error creating assembly archive : You must set at least one file. 

我試過多個目錄和包含的組合,例如

<directory>.</directory> 
<include>target/*.gz</include> 

<include>**/*.gz</include> 

與同樣的錯誤。

回答

1

從​​,

目錄
設置從模塊的 目錄的絕對 或相對位置。例如,「src/main/bin」 將選擇 項目的此子目錄,其中此依賴項的定義爲 。

所以我們不能有<directory>的通配符。這些應該是有效

<directory>${basedir}</directory> 
<directory>${project.build.directory}</directory> 
<directory>target</directory> 

您可以指定使用<includes>需要通配符。