maven程序集,如果未找到文件,则失败

maven程序集,如果未找到文件,则失败,maven,pom.xml,maven-assembly-plugin,Maven,Pom.xml,Maven Assembly Plugin,a楼,我带着这样的东西离开了: <fileSets> <fileSet> <directory>${project.basedir}</directory> <outputDirectory>/</outputDirectory> <includes> <include>LICENSE.md</include&

a楼,我带着这样的东西离开了:

<fileSets>
    <fileSet>

        <directory>${project.basedir}</directory>
        <outputDirectory>/</outputDirectory>

        <includes>

            <include>LICENSE.md</include>
            ...

${project.basedir}
/
LICENSE.md
...
我如何强制许可证.md的存在


在给定的示例中,如果该文件不存在,则不会引发任何警告,理想情况下,我希望生成失败。

我认为您可以使用其他方法来确保该文件存在(maven ant plugin,)。严格筛选不适用于文件集。它仅适用于dependencyset。参见相关邮件链

根据不同的约束条件,每当您想要使构建失败时,您都应该查看。这个插件允许配置被检查的规则,如果其中任何一个没有通过,就会导致构建失败

有一个用于检查文件是否存在的内置规则,称为:

此规则检查指定的文件列表是否存在

因此,如果文件
LICENSE.md
不存在,为了使生成失败,您可以:

<plugin>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>1.4.1</version>
  <executions>
    <execution>
      <id>enforce-license</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration>
        <rules>
          <requireFilesExist>
            <files>
              <file>${project.basedir}/LICENSE.md</file>
            </files>
          </requireFilesExist>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>


这样,如果文件不存在,构建将快速失败。

Huzzah!这正是我想要的行为。谢谢