战争:就地

全名

org.apache.maven.plugins:maven-war-plugin:3.3.2:inplace

说明

在 WAR 源目录中生成 webapp。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖关系解析:runtime.

必需参数

姓名 类型 自从 描述
<warSourceDirectory> File - 要包含在 WAR 中的额外文件的单个目录。这是放置 JSP 文件的地方。
默认值为${basedir}/src/main/webapp
<webappDirectory> File - 构建 webapp 的目录。
默认值为${project.build.directory}/${project.build.finalName}
<workDirectory> File - 如果需要,将依赖的 WAR 解压到的目录。
默认值为${project.build.directory}/war/work

可选参数

姓名 类型 自从 描述
<archive> MavenArchiveConfiguration - 要使用的存档配置。请参阅Maven 存档器参考
<archiveClasses> boolean 2.0.1 是否将为 webapp 中的类创建 JAR 文件。使用此可选配置参数将使编译的类归档到 JAR 文件中 /WEB-INF/lib/,然后将类目录从 webapp 中排除/WEB-INF/classes/
默认值为false
<containerConfigXML> File - servlet 容器的配置文件的路径。请注意,不同 servlet 容器的文件名可能不同。Apache Tomcat 使用名为 context.xml 的配置文件。该文件将被复制到 META-INF 目录。
<delimiters> LinkedHashSet 3.0.0

用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

因此,默认过滤分隔符可以指定为:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。


<dependentWarExcludes> String - 进行 WAR 覆盖时要排除的逗号分隔的标记列表。默认为Overlay.DEFAULT_EXCLUDES
<dependentWarIncludes> String - 进行 WAR 覆盖时要包含的逗号分隔的标记列表。默认为Overlay.DEFAULT_INCLUDES
<escapeString> String 2.1-beta-1 不会插入此字符串前面的表达式。 ${foo}将替换为${foo}.
<escapedBackslashesInFilePath> boolean 2.1-alpha-2 要使用 Windows 路径转义插值, c:\foo\bar将替换为 c:\foo\bar.
默认值为false
<failOnMissingWebXml> Boolean 2.1-alpha-2 web.xml如果文件丢失,是否使构建失败。false如果您希望在没有web.xml文件的情况下构建 WAR,请设置为。如果您正在构建没有 web.xml 文件的覆盖,这可能很有用。

3.1.0false开始,如果项目依赖于 Servlet 3.0 API 或更高版本,则此属性默认为 。


<filteringDeploymentDescriptors> boolean 2.1-alpha-2 过滤部署描述符。默认禁用。
默认值为false
<filters> List - 在 pom.xml 插值期间要包含的过滤器(属性文件)。
<includeEmptyDirectories> boolean 2.4 (无描述)
默认值为: false
<nonFilteredFileExtensions> List 2.1-alpha-2 不应过滤的文件扩展名列表。将在过滤 webResources 和覆盖时使用。
<outdatedCheckPath> String 3.3.1 将针对过时内容进行检查的资源的路径前缀。从3.3.2开始,如果指定了“/”值,则将检查整个 webappDirectory,即“/”表示“root”。
默认值为WEB-INF/lib/
<outputFileNameMapping> String 2.1-alpha-1 复制库和 TLD 时使用的文件名映射。如果未设置文件映射(默认),则使用标准名称复制文件。
<outputTimestamp> String 3.3.0 可重现输出存档条目的时间戳,格式为 ISO 8601yyyy-MM-dd'T'HH:mm:ssXXX或表示自纪元以来秒数的 int(如SOURCE_DATE_EPOCH)。
默认值为${project.build.outputTimestamp}
<overlays> List 2.1-alpha-1 要应用的叠加层。每个 <overlay> 元素可能包含:
  • id(默认为currentBuild
  • groupId(如果 this 和 artifactId 为 null,则当前项目被视为自己的叠加层)
  • artifactId(见上文)
  • 分类器
  • 类型
  • 包括(字符串模式列表)
  • 排除(字符串模式列表)
  • 过滤(默认为假)
  • 跳过(默认为假)
  • targetPath(默认为 webapp 结构的根目录)

<recompressZippedFiles> boolean 2.3 指示是否应再次压缩添加到战争中的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。
默认值为true
<resourceEncoding> String 2.3 复制过滤的 Web 资源时使用的编码。
默认值为${project.build.sourceEncoding}
<supportMultiLineFiltering> boolean 2.4 在行尾停止搜索 endToken
默认值为: false
<useDefaultDelimiters> boolean 3.0.0 除了自定义分隔符(如果有)之外,使用默认分隔符。
默认值为true
<useJvmChmod> boolean 2.4 使用 jvmChmod 而不是 cli chmod 和分叉进程
默认值是: true
<warSourceExcludes> String - 复制 warSourceDirectory 的内容时要排除的逗号分隔的令牌列表。
<warSourceIncludes> String - 复制 warSourceDirectory 的内容时要包含的逗号分隔的令牌列表。
默认值为**
<webResources> Resource[] - 我们要传输的 webResources 列表。
<webXml> File - 要使用的 web.xml 文件的路径。

参数详情

<存档>

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

<归档类>

是否将为 webapp 中的类创建 JAR 文件。使用此可选配置参数将使编译的类归档到 JAR 文件中 /WEB-INF/lib/,然后将类目录从 webapp 中排除/WEB-INF/classes/
  • 类型boolean
  • 2.0.1
  • 必需No
  • 默认false

<containerConfigXML>

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

<分隔符>

用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。

因此,默认过滤分隔符可以指定为:

<delimiters>
  <delimiter>${*}</delimiter>
  <delimiter>@</delimiter>
</delimiters>

由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。

  • 类型java.util.LinkedHashSet
  • 3.0.0
  • 必需No

<dependentWarExcludes>

进行 WAR 覆盖时要排除的逗号分隔的标记列表。默认为Overlay.DEFAULT_EXCLUDES
  • 类型java.lang.String
  • 必需No

<dependentWarIncludes>

进行 WAR 覆盖时要包含的逗号分隔的标记列表。默认为Overlay.DEFAULT_INCLUDES
  • 类型java.lang.String
  • 必需No

<转义字符串>

不会插入此字符串前面的表达式。 ${foo}将替换为${foo}.
  • 类型java.lang.String
  • 2.1-beta-1
  • 必需No

<escapedBackslashesInFilePath>

要使用 Windows 路径转义插值, c:\foo\bar将替换为 c:\foo\bar.
  • 类型boolean
  • 2.1-alpha-2
  • 必需No
  • 默认false

<failOnMissingWebXml>

web.xml如果文件丢失,是否使构建失败。false如果您希望在没有web.xml文件的情况下构建 WAR,请设置为。如果您正在构建没有 web.xml 文件的覆盖,这可能很有用。

3.1.0false开始,如果项目依赖于 Servlet 3.0 API 或更高版本,则此属性默认为 。

  • 类型java.lang.Boolean
  • 2.1-alpha-2
  • 必需No

<过滤部署描述符>

过滤部署描述符。默认禁用。
  • 类型boolean
  • 2.1-alpha-2
  • 必需No
  • 默认false

<过滤器>

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

<includeEmptyDirectories>

(没有说明)
  • 类型boolean
  • 2.4
  • 必需No
  • 默认false

<nonFilteredFileExtensions>

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

<过时的检查路径>

将针对过时内容进行检查的资源的路径前缀。从3.3.2开始,如果指定了“/”值,则将检查整个 webappDirectory,即“/”表示“root”。
  • 类型java.lang.String
  • 3.3.1
  • 必需No
  • 默认WEB-INF/lib/

<输出文件名映射>

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

<输出时间戳>

可重现输出存档条目的时间戳,格式为 ISO 8601yyyy-MM-dd'T'HH:mm:ssXXX或表示自纪元以来秒数的 int(如SOURCE_DATE_EPOCH)。
  • 类型java.lang.String
  • 3.3.0
  • 必需No
  • 默认${project.build.outputTimestamp}

<叠加层>

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

<重新压缩压缩文件>

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

<资源编码>

复制过滤的 Web 资源时使用的编码。
  • 类型java.lang.String
  • 2.3
  • 必需No
  • 默认${project.build.sourceEncoding}

<supportMultiLineFiltering>

在行尾停止搜索 endToken
  • 类型boolean
  • 2.4
  • 必需No
  • 默认false

<使用默认分隔符>

除了自定义分隔符(如果有)之外,使用默认分隔符。
  • 类型boolean
  • 3.0.0
  • 必需No
  • 默认true

<使用JvmChmod>

使用 jvmChmod 而不是 cli chmod 和分叉过程
  • 类型boolean
  • 2.4
  • 必需No
  • 默认true

<战争源目录>

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

<warSourceExcludes>

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

<warSourceIncludes>

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

<网络资源>

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

<webXml>

要使用的 web.xml 文件的路径。
  • 类型java.io.File
  • 必需No

<webapp目录>

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

<工作目录>

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