战争:战争

全名

org.apache.maven.plugins:maven-war-plugin:2.4:war

说明

构建一个 WAR 文件。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖解析:运行时
  • 目标是线程安全的并支持并行构建。
  • 默认绑定到生命周期阶段

必需参数

姓名 类型 自从 描述
缓存文件 文件 2.1-alpha-1 包含 webapp 结构缓存的文件。
默认值为${project.build.directory}/war/work/webapp-cache.xml
输出目录 细绳 - 生成的 WAR 的目录。
默认值为${project.build.directory}
战争名称 细绳 - 生成的 WAR 的名称。
默认值为${project.build.finalName}
用户属性是war.warName
战争源目录 文件 - 要包含在 WAR 中的额外文件的单个目录。这是放置 JSP 文件的地方。
默认值为${basedir}/src/main/webapp
webapp目录 文件 - 构建 webapp 的目录。
默认值为${project.build.directory}/${project.build.finalName}
工作目录 文件 - 如果需要,将依赖的 WAR 解压到的目录。
默认值为${project.build.directory}/war/work

可选参数

姓名 类型 自从 描述
档案 Maven存档配置 - 要使用的存档配置。请参阅Maven 存档器参考
归档类 布尔值 2.0.1 是否将为 webapp 中的类创建 JAR 文件。使用此可选配置参数将使编译后的类归档到 JAR 文件中,然后将类目录从 webapp 中排除。
默认值为false
用户属性是archiveClasses
附加类 布尔值 2.1-alpha-2 类(即 WEB-INF/classes 目录的内容)是否应作为附加工件附加到项目中。

默认情况下,附加工件的分类器是“类”。您可以使用 <classesClassifier>someclassifier</classesClassifier> 参数对其进行更改。

如果此参数为真,则另一个项目可以通过编写如下内容来依赖这些类:

<dependency>
  <groupId>myGroup</groupId>
  <artifactId>myArtifact</artifactId>
  <version>myVersion</myVersion>
  <classifier>classes</classifier>
</dependency>



默认值为false
类分类器 细绳 2.1-alpha-2 用于附加类工件的分类器。
默认值为
分类器 细绳 - 添加到生成的 WAR 的分类器。如果给出,工件将改为附件。分类器不会应用于项目的 JAR 文件 - 仅应用于 WAR 文件。
容器配置XML 文件 - servlet 容器的配置文件的路径。请注意,不同 servlet 容器的文件名可能不同。Apache Tomcat 使用名为 context.xml 的配置文件。该文件将被复制到 META-INF 目录。
用户属性是maven.war.containerConfigXML
依赖战争不包括 细绳 - 已弃用。改用 <overlay>/<excludes>
依赖战争包括 细绳 - 已弃用。改用 <overlay>/<includes>
转义字符串 细绳 2.1-beta-1 不会插入此字符串前面的表达式。 ${foo}将被替换为${foo}
用户属性是maven.war.escapeString
转义反斜杠InFilePath 布尔值 2.1-alpha-2 要使用 Windows 路径转义插值, c:\foo\bar将替换为 c:\foo\bar
默认值为false
用户属性是maven.war.escapedBackslashesInFilePath
failOnMissingWebXml 布尔值 2.1-alpha-2 如果web.xml文件丢失,是否使构建失败。如果您希望在没有web.xml文件的情况下构建 WAR,请设置为false 。如果您正在构建没有 web.xml 文件的覆盖,这可能很有用。默认值为true用户属性是failOnMissingWebXml

过滤部署描述符 布尔值 2.1-alpha-2 过滤部署描述符。默认禁用。
默认值为false
用户属性是maven.war.filteringDeploymentDescriptors
过滤器 列表 - 在 pom.xml 插值期间要包含的过滤器(属性文件)。
包括空目录 布尔值 2.4 (无描述)
默认值为false
非过滤文件扩展 列表 2.1-alpha-2 不应过滤的文件扩展名列表。将在过滤 webResources 和覆盖时使用。
输出文件名映射 细绳 2.1-alpha-1 复制库和 TLD 时使用的文件名映射。如果未设置文件映射(默认),则使用标准名称复制文件。
叠加层 列表 2.1-alpha-1 要应用的叠加层。每个 <overlay> 元素可能包含:
  • id (默认为currentBuild )
  • groupId(如果 this 和 artifactId 为 null,则当前项目被视为自己的叠加层)
  • artifactId(见上文)
  • 分类器
  • 类型
  • 包括(字符串模式列表)
  • 排除(字符串模式列表)
  • 过滤(默认为假)
  • 跳过(默认为假)
  • targetPath(默认为 webapp 结构的根目录)

包装不包括 细绳 2.1-alpha-2 打包前要从 WAR 中排除的标记的逗号分隔列表。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。提示:阅读 about (?!Pattern)。
包装包括 细绳 2.1-beta-1 打包前要包含在 WAR 中的以逗号分隔的令牌列表。默认情况下,所有内容都包括在内。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。
初级神器 布尔值 - 这是否是正在构建的主要工件。如果您不想将其安装或部署到本地存储库而不是执行中的默认存储库,请设置为 false 。
默认值为true
用户属性是primaryArtifact
重新压缩ZippedFiles 布尔值 2.3 指示是否应再次压缩添加到战争中的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。
默认值为true
资源编码 细绳 2.3 复制过滤的 Web 资源时使用的编码。
默认值为${project.build.sourceEncoding}
用户属性是resourceEncoding
支持MultiLineFiltering 布尔值 2.4 在行尾停止搜索 endToken
默认值为false
用户属性是maven.war.supportMultiLineFiltering
使用缓存 布尔值 2.1-alpha-1 是否应使用缓存来跨多次运行保存 webapp 的状态。实验性功能默认禁用。
默认值为false
用户属性是useCache
使用JvmChmod 布尔值 2.4 使用 jvmChmod 而不是 cli chmod 和分叉进程
默认值为true
用户属性是maven.war.useJvmChmod
战争来源不包括 细绳 - 复制 warSourceDirectory 的内容时要排除的逗号分隔的令牌列表。
战争来源包括 细绳 - 复制 warSourceDirectory 的内容时要包含的逗号分隔的令牌列表。
默认值为**
网络资源 资源[] - 我们要传输的 webResources 列表。
网页XML 文件 - 要使用的 web.xml 文件的路径。
用户属性是maven.war.webxml

参数详情

存档

要使用的存档配置。请参阅Maven 存档器参考
  • 类型org.apache.maven.archiver.MavenArchiveConfiguration
  • 要求

归档类

是否将为 webapp 中的类创建 JAR 文件。使用此可选配置参数将使编译的类归档到 JAR 文件中,然后将类目录从 webapp 中排除。
  • 类型布尔值
  • 2.0.1
  • 要求
  • 用户属性archiveClasses
  • 默认值

附加类

类(即 WEB-INF/classes 目录的内容)是否应作为附加工件附加到项目中。

默认情况下,附加工件的分类器是“类”。您可以使用 <classesClassifier>someclassifier</classesClassifier> 参数对其进行更改。

如果此参数为真,则另一个项目可以通过编写如下内容来依赖这些类:

<dependency>
  <groupId>myGroup</groupId>
  <artifactId>myArtifact</artifactId>
  <version>myVersion</myVersion>
  <classifier>classes</classifier>
</dependency>


  • 类型布尔值
  • 2.1-alpha-2
  • 要求
  • 默认值

缓存文件

包含 webapp 结构缓存的文件。
  • 类型java.io.File
  • 2.1-alpha-1
  • 要求
  • 默认${project.build.directory}/war/work/webapp-cache.xml

类分类器

用于附加类工件的分类器。
  • 类型java.lang.String
  • 2.1-alpha-2
  • 要求
  • 默认值

分类器

添加到生成的 WAR 的分类器。如果给出,工件将改为附件。分类器不会应用于项目的 JAR 文件 - 仅应用于 WAR 文件。
  • 类型java.lang.String
  • 要求

容器配置XML

servlet 容器的配置文件的路径。请注意,不同 servlet 容器的文件名可能不同。Apache Tomcat 使用名为 context.xml 的配置文件。该文件将被复制到 META-INF 目录。
  • 类型java.io.File
  • 要求
  • 用户属性maven.war.containerConfigXML

依赖战争排除

已弃用。改用 <overlay>/<excludes>
进行 WAR 覆盖时要排除的逗号分隔的标记列表。
  • 类型java.lang.String
  • 要求

依赖战争包括

已弃用。改用 <overlay>/<includes>
进行 WAR 覆盖时要包含的逗号分隔的标记列表。默认为“**”
  • 类型java.lang.String
  • 要求

转义字符串

不会插入此字符串前面的表达式。 ${foo}将被替换为${foo}
  • 类型java.lang.String
  • : 2.1-beta-1
  • 要求
  • 用户属性maven.war.escapeString

escapedBackslashesInFilePath

要使用 Windows 路径转义插值, c:\foo\bar将替换为 c:\foo\bar
  • 类型布尔值
  • 2.1-alpha-2
  • 要求
  • 用户属性maven.war.escapedBackslashesInFilePath
  • 默认值

failOnMissingWebXml

如果web.xml文件丢失,是否使构建失败。如果您希望在没有web.xml文件的情况下构建 WAR,请设置为false 。如果您正在构建没有 web.xml 文件的覆盖,这可能很有用。
  • 类型布尔值
  • 2.1-alpha-2
  • 要求
  • 用户属性failOnMissingWebXml
  • 默认值

过滤部署描述符

过滤部署描述符。默认禁用。
  • 类型布尔值
  • 2.1-alpha-2
  • 要求
  • 用户属性maven.war.filteringDeploymentDescriptors
  • 默认值

过滤器

在 pom.xml 插值期间要包含的过滤器(属性文件)。
  • 类型java.util.List
  • 要求

包括空目录

(没有说明)
  • 类型布尔值
  • : 2.4
  • 要求
  • 默认值

非过滤文件扩展

不应过滤的文件扩展名列表。将在过滤 webResources 和覆盖时使用。
  • 类型java.util.List
  • 2.1-alpha-2
  • 要求

输出目录

生成的 WAR 的目录。
  • 类型java.lang.String
  • 要求
  • 默认值${project.build.directory}

输出文件名映射

复制库和 TLD 时使用的文件名映射。如果未设置文件映射(默认),则使用标准名称复制文件。
  • 类型java.lang.String
  • 2.1-alpha-1
  • 要求

叠加

要应用的叠加层。每个 <overlay> 元素可能包含:
  • id (默认为currentBuild )
  • groupId(如果 this 和 artifactId 为 null,则当前项目被视为自己的叠加层)
  • artifactId(见上文)
  • 分类器
  • 类型
  • 包括(字符串模式列表)
  • 排除(字符串模式列表)
  • 过滤(默认为假)
  • 跳过(默认为假)
  • targetPath(默认为 webapp 结构的根目录)
  • 类型java.util.List
  • 2.1-alpha-1
  • 要求

包装不包括

打包前要从 WAR 中排除的标记的逗号分隔列表。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。提示:阅读 about (?!Pattern)。
  • 类型java.lang.String
  • 2.1-alpha-2
  • 要求

包装包括

打包前要包含在 WAR 中的以逗号分隔的令牌列表。默认情况下,所有内容都包括在内。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。
  • 类型java.lang.String
  • : 2.1-beta-1
  • 要求

主要神器

这是否是正在构建的主要工件。如果您不想将其安装或部署到本地存储库而不是执行中的默认存储库,请设置为 false 。
  • 类型布尔值
  • 要求
  • 用户属性primaryArtifact
  • 默认值

重新压缩压缩文件

指示是否应再次压缩添加到战争中的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。
  • 类型布尔值
  • : 2.3
  • 要求
  • 默认值

资源编码

复制过滤的 Web 资源时使用的编码。
  • 类型java.lang.String
  • : 2.3
  • 要求
  • 用户属性resourceEncoding
  • 默认值${project.build.sourceEncoding}

支持多线过滤

在行尾停止搜索 endToken
  • 类型布尔值
  • : 2.4
  • 要求
  • 用户属性maven.war.supportMultiLineFiltering
  • 默认值

使用缓存

是否应使用缓存来跨多次运行保存 webapp 的状态。实验性功能默认禁用。
  • 类型布尔值
  • 2.1-alpha-1
  • 要求
  • 用户属性useCache
  • 默认值

使用JvmChmod

使用 jvmChmod 而不是 cli chmod 和分叉过程
  • 类型布尔值
  • : 2.4
  • 要求
  • 用户属性maven.war.useJvmChmod
  • 默认值

战争名称

生成的 WAR 的名称。
  • 类型java.lang.String
  • 要求
  • 用户属性war.warName
  • 默认值${project.build.finalName}

战争来源目录

要包含在 WAR 中的额外文件的单个目录。这是放置 JSP 文件的地方。
  • 类型java.io.File
  • 要求
  • 默认${basedir}/src/main/webapp

战争来源排除

复制 warSourceDirectory 的内容时要排除的逗号分隔的令牌列表。
  • 类型java.lang.String
  • 要求

战争来源包括

复制 warSourceDirectory 的内容时要包含的逗号分隔的令牌列表。
  • 类型java.lang.String
  • 要求
  • 默认**

网络资源

我们要传输的 webResources 列表。
  • 类型org.apache.maven.model.Resource[]
  • 要求

网络 XML

要使用的 web.xml 文件的路径。
  • 类型java.io.File
  • 要求
  • 用户属性maven.war.webxml

网络应用目录

构建 webapp 的目录。
  • 类型java.io.File
  • 要求
  • 默认值${project.build.directory}/${project.build.finalName}

工作目录

如果需要,将依赖的 WAR 解压到的目录。
  • 类型java.io.File
  • 要求
  • 默认${project.build.directory}/war/work