战争:就地

全名:

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