Maven中的“ warsourceexcludes”和`packagingExcludes'之间有什么区别



Maven War插件具有两个配置选项:warSourceExcludespackagingExcludespackagingExcludes上有一些文档,说:

使用<packagingIncludes><packagingExcludes>配置参数可以包括或排除战争文件中的某些文件。

但是,我发现很难找到有关warSourceExcludes的信息。

这两个配置选项有什么区别?

我正在使用Maven 3.1.1,而战争插件是2.4

warsourceexcludes:逗号分开的令牌列表,以排除 复制Warsourcedirectory的内容时。


packagingExcludes:逗号分开的令牌列表,以排除 从包装前的战争中。

使用包装量表,令牌被完全排除在最终战争文件中。

使用warsourceexcludes,将战争目录复制到战争档案中时,这些令牌就被忽略了。

结果,如果将令牌存在于WebAppDirectory中,则在使用Warsourceexcludes时不会忽略它们,但会在使用PackagingExcludes时。

产生最终战争文件的过程可以简化为两个主要步骤:

  1. Web资源从${warSourceDirectory}复制到${<webappDirectory>},假设它是target/artifact/,可以像以下方式一样对待:

    cp -r src/main/webapp/* target/artifact/
    

    <warSourceExcludes>在此步骤中使用,因此排除的文件未复制到 target/artifact/

  2. 随后将上述步骤的输出目录target/artifact(即${webappDirectory})用作产生最终战争文件的输入,例如:

    jar --create --file target/artifact.war -C target/artifact/ WEB-INF ...
    

    使用<packagingExcludes>,决定从target/artifact/收拾什么。

请参阅https://maven.apache.org/plugins/maven-war-plugin/war-mojo.html

相关内容

  • 没有找到相关文章

最新更新