2013-04-25 40 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> 
相关问题