如何在 Maven 组件的基础目录中包含所有文件(而不是目录)

3
在下面展示的Maven汇聚中,结果会发生递归重复包含基础目录。
以下失败实际上会消耗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 / *下的文件将被正确包含,并且程序集将成功。那么,这里的正确语法是什么?谢谢!
以下构建一个输出zip文件,但没有基本目录中的文件-因此它是不完整的:
    <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>
1个回答

5
这里有一种使用通配符和include的方法来完成这个任务:
        <fileSet>
        <directory>${basedir}</directory>
        <outputDirectory>/</outputDirectory>
        <includes>
            <include>*.rb</include>
            <include>*.sh</include>
            <include>*.properties</include>
        </includes>
    </fileSet>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接