全名:
org.apache.maven.plugins:maven-war-plugin:3.3.0:war
说明:
属性:
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<输出目录> | 细绳 | - | 生成的 WAR 的目录。 默认值为:${project.build.directory}。 |
<战争源目录> | 文件 | - | 要包含在 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。 |
<附加类> | 布尔值 | 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 文件。 |
<containerConfigXML> | 文件 | - | servlet 容器的配置文件的路径。请注意,不同 servlet 容器的文件名可能不同。Apache Tomcat 使用名为 context.xml 的配置文件。该文件将被复制到 META-INF 目录。 |
<分隔符> | 链接哈希集 | 3.0.0 |
用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。 因此,默认过滤分隔符可以指定为: <delimiters> <delimiter>${*}</delimiter> <delimiter>@</delimiter> </delimiters> 由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。 |
<dependentWarExcludes> | 细绳 | - | 进行 WAR 覆盖时要排除的逗号分隔的标记列表。默认为Overlay.DEFAULT_EXCLUDES |
<dependentWarIncludes> | 细绳 | - | 进行 WAR 覆盖时要包含的逗号分隔的标记列表。默认为Overlay.DEFAULT_INCLUDES |
<转义字符串> | 细绳 | 2.1-beta-1 | 不会插入此字符串前面的表达式。
${foo}将被替换为${foo}。 |
<escapedBackslashesInFilePath> | 布尔值 | 2.1-alpha-2 | 要使用 Windows 路径转义插值,
c:\foo\bar将替换为
c:\foo\bar。 默认值为:false。 |
<failOnMissingWebXml> | 布尔值 | 2.1-alpha-2 | 如果web.xml文件丢失,是否使构建失败。如果您希望在没有web.xml文件的情况下构建 WAR,请设置为false 。如果您正在构建没有 web.xml 文件的覆盖,这可能很有用。
从3.1.0开始,如果项目依赖于 Servlet 3.0 API 或更高版本,则此属性默认为 false 。 |
<过滤部署描述符> | 布尔值 | 2.1-alpha-2 | 过滤部署描述符。默认禁用。 默认值为:false。 |
<过滤器> | 列表 | - | 在 pom.xml 插值期间要包含的过滤器(属性文件)。 |
<includeEmptyDirectories> | 布尔值 | 2.4 | (无描述) 默认值为:false。 |
<nonFilteredFileExtensions> | 列表 | 2.1-alpha-2 | 不应过滤的文件扩展名列表。将在过滤 webResources 和覆盖时使用。 |
<输出文件名映射> | 细绳 | 2.1-alpha-1 | 复制库和 TLD 时使用的文件名映射。如果未设置文件映射(默认),则使用标准名称复制文件。 |
<输出时间戳> | 细绳 | 3.3.0 | 可重现输出存档条目的时间戳,格式为 ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX或表示自纪元以来秒数的 int(如SOURCE_DATE_EPOCH)。 默认值为:${project.build.outputTimestamp}。 |
<叠加层> | 列表 | 2.1-alpha-1 | 要应用的叠加层。每个 <overlay> 元素可能包含:
|
<包装不包括> | 细绳 | 2.1-alpha-2 | 打包前要从 WAR 中排除的标记的逗号分隔列表。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。提示:阅读 about (?!Pattern)。 |
<包装包括> | 细绳 | 2.1-beta-1 | 打包前要包含在 WAR 中的以逗号分隔的令牌列表。默认情况下,所有内容都包括在内。此选项可用于实现瘦 WAR 用例。请注意,您可以使用 Java 正则表达式引擎使用表达式 %regex[] 来包含和排除特定模式。 |
<主要工件> | 布尔值 | - | 这是否是正在构建的主要工件。如果您不想将其安装或部署到本地存储库而不是执行中的默认存储库,请设置为
false 。 默认值为:true。 |
<重新压缩压缩文件> | 布尔值 | 2.3 | 指示是否应再次压缩添加到战争中的 zip 档案(jar、zip 等)。再次压缩可能会导致更小的存档大小,但会显着延长执行时间。 默认值为:true。 |
<资源编码> | 细绳 | 2.3 | 复制过滤的 Web 资源时使用的编码。 默认值为:${project.build.sourceEncoding}。 |
<跳过> | 布尔值 | 3.0.0 | 如果需要,您可以跳过插件的执行。不推荐使用它,但有时很方便。 默认值为:false。 用户属性是:maven.war.skip。 |
<supportMultiLineFiltering> | 布尔值 | 2.4 | 在行尾停止搜索 endToken 默认值为:false。 |
<使用默认分隔符> | 布尔值 | 3.0.0 | 除了自定义分隔符(如果有)之外,使用默认分隔符。 默认值为:true。 |
<使用JvmChmod> | 布尔值 | 2.4 | 使用 jvmChmod 而不是 cli chmod 和分叉进程 默认值为:true。 |
<warSourceExcludes> | 细绳 | - | 复制 warSourceDirectory 的内容时要排除的逗号分隔的令牌列表。 |
<warSourceIncludes> | 细绳 | - | 复制 warSourceDirectory 的内容时要包含的逗号分隔的令牌列表。 默认值为:**。 |
<网络资源> | 资源[] | - | 我们要传输的 webResources 列表。 |
<webXml> | 文件 | - | 要使用的 web.xml 文件的路径。 |
默认情况下,附加工件的分类器是“类”。您可以使用 <classesClassifier>someclassifier</classesClassifier> 参数对其进行更改。
如果此参数为真,则另一个项目可以通过编写如下内容来依赖这些类:
<dependency> <groupId>myGroup</groupId> <artifactId>myArtifact</artifactId> <version>myVersion</myVersion> <classifier>classes</classifier> </dependency>
用于在资源中过滤的表达式的分隔符集。这些定界符以“beginToken*endToken”的形式指定。如果没有给出“*”,则假定开始和结束的分隔符相同。
因此,默认过滤分隔符可以指定为:
<delimiters> <delimiter>${*}</delimiter> <delimiter>@</delimiter> </delimiters>
由于'@'分隔符在两端是相同的,我们不需要指定'@*@'(尽管我们可以)。
从3.1.0开始,如果项目依赖于 Servlet 3.0 API 或更高版本,则此属性默认为 false 。