2013-04-25 87 views
3

在如下所示的Maven程序集中,結果是發生了遞歸,重新包括基本目錄。如何在Maven程序集的basedir中包含所有文件(不是目錄)

繼實際上消耗CPU和不返回失敗:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>deploy</id> 
    <baseDirectory>hive</baseDirectory> 
    <includeBaseDirectory></includeBaseDirectory> 
    <formats> 
    <format>zip</format> 
    </formats> 
    <fileSets> 
     <fileSet> 
      <directory>${basedir}/lib</directory> 
      <outputDirectory>lib</outputDirectory> 
     </fileSet> 
     <fileSet> 
      <directory>${basedir}</directory> 
      <outputDirectory></outputDirectory> 
     </fileSet> 
    </fileSets> 
    <files> 
    <file> 
     <source>${basedir}/target/${project.build.finalName}.jar</source> 
     <outputDirectory>lib</outputDirectory> 
    </file> 
    </files> 
</assembly> 

相反,如果基本目錄不遂把/ *已經適當地包括lib下的文件和組裝成功。那麼......這裏的正確語法是什麼?謝謝!

繼建立輸出拉鍊,但沒有在基本目錄中的文件 - 所以它是不完整:

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>deploy</id> 
    <baseDirectory>hive</baseDirectory> 
    <includeBaseDirectory></includeBaseDirectory> 
    <formats> 
    <format>zip</format> 
    </formats> 
    <fileSets> 
     <fileSet> 
      <directory>${basedir}/lib</directory> 
      <outputDirectory>lib</outputDirectory> 
     </fileSet> 
    </fileSets> 
    <files> 
    <file> 
     <source>${basedir}/target/${project.build.finalName}.jar</source> 
     <outputDirectory>lib</outputDirectory> 
    </file> 
    </files> 
</assembly> 

回答

3

這裏是一個辦法做到這一點使用include s的通配符:

 <fileSet> 
     <directory>${basedir}</directory> 
     <outputDirectory>/</outputDirectory> 
     <includes> 
      <include>*.rb</include> 
      <include>*.sh</include> 
      <include>*.properties</include> 
     </includes> 
    </fileSet> 
相關問題