2014-04-16 38 views
3

這是我昨天的問題Conditionally exclude some resources in maven from war的後續。我能夠重新整理開發和生產戰爭,但過濾將目錄properties複製到戰爭中,但根據documentation將其排除在外。我可以使用packagingExcludes選項,但我想知道爲什麼excludes不起作用。謝謝你的解釋。在maven-war-plugin中過濾不排除目錄

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <classifier>dev</classifier> 
     <webappDirectory>${project.build.directory}/${project.build.finalName}-dev</webappDirectory> 
     <filters> 
      <filter>${project.basedir}/configurations/properties/config_dev.prop</filter> 
     </filters> 
     <webResources> 
      <resource> 
       <directory>configurations</directory> 
       <filtering>true</filtering> 
       <targetPath>WEB-INF/classes</targetPath> 
       <excludes> 
        <exclude>**/properties</exclude> 
       </excludes> 
      </resource> 
     </webResources> 
    </configuration> 
    <executions> 
     <execution> 
      <id>package-prod</id> 
      <phase>package</phase> 
      <configuration> 
       <classifier>prod</classifier> 
       <webappDirectory>${project.build.directory}/${project.build.finalName}-prod</webappDirectory> 
       <packagingExcludes>WEB-INF/classes/*.jks,WEB-INF/classes/acquirer.properties</packagingExcludes> 
       <filters> 
        <filter>${project.basedir}/configurations/properties/config_prod.prop</filter> 
       </filters> 
       <webResources> 
        <resource> 
         <directory>configurations</directory> 
         <filtering>true</filtering> 
         <targetPath>WEB-INF/classes</targetPath> 
         <excludes> 
          <exclude>**/properties</exclude> 
         </excludes> 
        </resource> 
       </webResources> 
      </configuration> 
      <goals> 
       <goal>war</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

回答

7

資源排除在文件庫上,即他們忽略文件夾。這是因爲webResources可能進行了過濾。

因此,excludes中的球體適用於目錄中的所有文件,排除與匹配排除球體的任何文件

但是,您只排除了一個目錄。

更改爲**/properties/***/properties/**它會起作用。

+1

它的工作原理。 Maven在他們的文檔中有一個錯誤。我從他們的樣本中複製了這個元素。 –

+0

確實文檔有一個錯誤。我一直在嘗試6個小時的錯誤問題。我希望我早點用google搜索。我想即使是「包含」也是這種情況? @blackbuild – Willa

+0

@Willa正確,'include'行爲相同 – blackbuild