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>
4

1 回答 1

3

这是一种使用include带通配符的 s 的方法:

        <fileSet>
        <directory>${basedir}</directory>
        <outputDirectory>/</outputDirectory>
        <includes>
            <include>*.rb</include>
            <include>*.sh</include>
            <include>*.properties</include>
        </includes>
    </fileSet>
于 2013-04-25T23:24:09.693 回答