本文翻译自: http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
war:war
全路径: org.apache.maven.plugins:maven-war-plugin:3.1.0:war描述: 构建一个 WAR文件.
特征:
* [必须] 一个maven工程用于执行
* [必须] artifacts的依赖范围: compile+runtime
* 此目标是线程安全的, 支持并行构建
* 绑定的默认的lifecycle phase: package
必须的参数
Name | Type | Since | Description | 默认值 |
cacheFile | File | 2.1-alpha-1 | 包含webapp结构的文件缓存 | ${project.build.directory}/war/work/webapp-cache.xml. |
outputDirectory | String | - | 用于输出WAR的目录 | ${project.build.directory}. |
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. |
可选参数:
Name | Type | Since | Description | 默认值 |
archive | MavenArchiveConfiguration | - | 可使用的 archive configuration . 见 Maven Archiver Reference. | |
archiveClasses | boolean | 2.0.1 | 是否需要创建一个JAR文件用于webapp中的classes. 使用这个可选参数将编译classes打包到一个JAR文件以及classes目录将从webapp中排除. | false |
attachClasses | boolean | 2.1-alpha-2 | 是否classes(WEB-INF/classes目录中的内容)是否作为一个新增的artifact附加至工程中 | 默认的附加artifact的标识是 'classes'. 你可以使用 <classesClassifier>someclassifier</classesClassifier>参数去更改它如果这个参数是 true, 另一个工程可以通过以下方式来依赖它<dependency> <groupId>myGroup</groupId> <artifactId>myArtifact</artifactId> <version>myVersion</myVersion> <classifier>classes</classifier></dependency>默认值是: false. |
classesClassifier | String | 2.1-alpha-2 | 用于附加 classes artifact 的标识 | 默认值是classes |
classifier | String | - | 一个标识用于添加至产生的WAR中. 如果给定, 则 artifact 则使用一个附件来代替. 这个标识将不会用于工程的JAR文件中, 仅用于这个WAR中 (没明白啥意思) | |
containerConfigXML | File | - | servlet容器的配置文件路. 注意不同的容器文件名可能不同. Apache Tomcat 使用的配置文件命名为 context.xml. 这个文件将被拷贝至 META-INF目录. | |
delimiters | LinkedHashSet | 3.0.0 | 表达式的分隔符列表, 用于过滤资源. 这些分隔符以 'beginToken*endToken' 这样的形式指定. 如果没有 '*' 指定, 这些分隔符将假定开始与结束都相同 所以默认的分隔符可能是下面的形式指定<delimiters> <delimiter>${*}</delimiter> <delimiter>@</delimiter></delimiters>Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can). | |
dependentWarExcludes | String | - | 当做一个WAR的overlay时, 指定的一个逗号分隔的排除列表 | 默认值是 Overlay.DEFAULT_EXCLUDES |
dependentWarIncludes | String | - | 当做一个WAR的overlay时, 指定的一个逗号分隔的包含列表 | 默认值是 DEFAULT_INCLUDES |
escapeString | String | 2.1-beta-1 | String中的表达式处理不会被替换, \${foo} 将换替换为@ ${foo}. | |
escapedBackslashesInFilePath | boolean | 2.1-alpha-2 | 转义插入的值, 使用windows路径 c:\foo\bar will 将被替换为 c:\\foo\\bar.默认值是: false. | |
failOnMissingWebXml | Boolean | 2.1-alpha-2 | 当web.xml丢失时, 决定是否失败此构建. 当构建不依赖于web.xml文件时,设置为false. 如果你在构建一个overlay, 且没有web.xml时, 非常有用 | 开始于 3.1.0, 如果工程依赖于servlet3.0api或者更新版本, 则这个属性默认为false |
filteringDeploymentDescriptors | boolean | 2.1-alpha-2 | 过滤部署描述符. 默认不使用 | 默认值为 false. |
filters | List | - | 在pom.xml的执行过程中, 包含的过滤器 Filters (property files) . | |
includeEmptyDirectories | boolean | 2.4 | (no description) | 默认值是: false. |
nonFilteredFileExtensions | List | 2.1-alpha-2 | 一个应该被过滤的文件扩展名列表. 可用于过滤webResources以及覆写. | |
outputFileNameMapping | String | 2.1-alpha-1 | 当拷贝libraries和TLDs时的文件名映射. 如果没有设置文件映射. (默认的)文件将使用标准名称进行拷贝. | |
overlays | List | 2.1-alpha-1 | 实现覆写. 每个<overlay>元素可以包含:
|
|
packagingExcludes | String | 2.1-alpha-2 | 用逗号分隔的单词列表, 用于在打包前从WAR中排除. 这个选项可能用于实现WAR包瘦身. 注意你可以使用正则表达式引擎来包含和排除指定的样式, 使用表达式%regex[]. 提示:阅读关于 (?!Pattern). | |
packagingIncludes | String | 2.1-beta-1 | 用逗号分隔的单词列表, 用于在打包前包含至WAR中, 默认是包含所有的. 这个可选项可能用于实现skinny WAR 的案例. 注意你可以使用正式表达式引擎去包含与排除指定的样式, 使用这样的表达式 %regex[]. | |
primaryArtifact | boolean | - | 在构建时, 这是否是一个主 artifact . 假如你不想在执行中 install or deploy它至本地仓库代替默认的一 | 默认值是: true. |
recompressZippedFiles | boolean | 2.3 | 当zip包(jar,zip等)增加至war时, 是否再次压缩, 再次压缩可能产生更小的文件大小, 但是会显著的增加执行时间 | 默认值是 true. |
resourceEncoding | String | 2.3 | 用于拷贝web资源的编码 | 默认值是 ${project.build.sourceEncoding}. |
skip | boolean | 3.0.0 | 在你需要的时候, 你可以跳过此插件的执行, 但他不推荐使用, 但也有合适的场景默认值是: false. | User property is: maven.war.skip. |
supportMultiLineFiltering | boolean | 2.4 | 停止在文件末尾搜索 endToken | 默认值是 false. |
useCache | boolean | 2.1-alpha-1 | 是否应该使用缓来保存webapp跨多个runs的状态, 这实特性, 所以默认没有启用 | 默认值是 false. |
useDefaultDelimiters | boolean | 3.0.0 | 将默认的分隔符增加至自定义的分隔符中, 如果有的话 | 默认值是 true. |
useJvmChmod | boolean | 2.4 | 是否使用 jvmChmod代替 cli chmod用于 forking 进程 | 默认值是true |
warSourceExcludes | String | - | 以逗号分隔的单词列表, 表示当拷贝warSourceDirectory的内容时, 需要排除的 | |
warSourceIncludes | String | - | 以逗号分隔的单词列表, 表示当拷贝warSourceDirectory的内容时, 需要包含的 | 默认值 是 ** |
webResources | Resource[] | - | 我们需要传输的webResources 列表 | |
webXml | File | - | 使用的web.xml文件的路径 |
相关推荐
此外,他可能还讨论了如何通过 Maven 的打包插件(如 maven-war-plugin)来控制 overlay 的行为,以及如何处理依赖冲突和版本管理。 【标签】:“源码”、“工具” "Maven" 作为一个强大的构建工具,其核心功能是...
对于"HelloMM"项目,我们首先要确保Maven环境已安装,然后在命令行或IDE中运行`mvn compile`命令,这会编译源代码。接着,`mvn test`将运行任何配置的单元测试,确保代码正确无误。最后,`mvn package`会将编译后的...
- `mvn package`:编译并打包项目,如JAR或WAR文件。 - `mvn install`:将打包好的文件安装到本地仓库。 - `mvn deploy`:将项目部署到远程服务器。 ### 8. 多模块项目 Maven支持多模块项目结构,允许开发者将大型...
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
这些命令都是基于Maven的生命周期和插件机制执行的。 Maven的插件系统是其强大功能的关键,它允许扩展Maven的功能以适应不同的构建需求。例如,Maven的JAR插件可以创建Java归档文件,而WAR插件则专门用于打包Web...
java运行依赖jar包
java运行依赖jar包
Maven 常用命令大全 Maven 是一个项目管理和构建自动化工具,提供了许多实用的命令来简化项目的开发和维护过程。在这篇文章中,我们将总结和讲解 Maven 中的一些常用命令,它们将帮助您更好地使用 Maven。 创建 ...
在开发环境中,你可以通过运行Maven的install命令来构建整个项目,并将每个WAR文件部署到本地仓库或远程服务器。如果需要在同一个Tomcat服务器上部署多个WAR应用,可以使用Maven的Tomcat插件(maven-tomcat-plugin或...
"Maven自动部署WAR包到Tomcat" Maven自动部署WAR包到Tomcat是将Maven项目打包成WAR包并自动部署到Tomcat服务器的过程。下面是该过程的详细步骤: 步骤一:配置Tomcat 在Tomcat安装目录下找到tomcat-users.xml文件...
本篇文章将深入探讨如何使用Maven命令来创建工程、打包工程以及掌握一些常用的Maven命令。 首先,让我们了解Maven的核心概念。Maven基于项目对象模型(Project Object Model,POM),这是一个XML文件,包含了项目的...
除此之外,Maven还支持与特定包相关的生命周期,比如JAR、WAR、EAR等。在每个生命周期中,还有一系列的构建目标,比如处理资源文件、编译源代码、测试代码等。这些生命周期和目标的使用能够确保项目构建过程的标准化...
maven-war-plugin-1.6.2.jar
### Maven命令行相关命令集锦 #### 概述 Maven是Java项目自动化构建工具的一种标准,它通过一系列规范化的约定来简化项目的构建过程。在实际的开发工作中,Maven常用于构建Web工程项目,帮助开发者高效地管理项目...
maven打包,指定入口类的jar包,具体的pom配置为: <groupId>org.apache.maven.plugins <artifactId>maven-shade-plugin <version>3.1.0 <phase>package <goal>shade implementation="org....
maven-war-plugin-20030413.023708.jar
"Maven引入本地Jar包并打包进War包中的方法" Maven是一种流行的项目管理工具,主要用于Java项目的构建、测试和部署。在实际开发中,我们经常需要引入本地Jar包以满足项目的需求。本文将介绍Maven引入本地Jar包并...
完成上述步骤后,通过执行`mvn clean package`命令,Maven将生成一个war文件,可以直接部署到外部的Tomcat服务器。记住,部署前请确保Tomcat版本与Spring Boot支持的版本兼容。 以上就是Spring Boot项目正确打war包...
ssm_spring_mvc_maven.war,页面用的bootstrap,实现了记录的增删改查,数据回显,模糊查询
最后,我们可以使用maven命令来生成war包。 详细知识点 1. 指定war打包方式 在pom.xml文件中,我们需要指定war打包方式,以便maven可以正确地生成war包。 ```xml <packaging>war ``` 2. 添加spring-boot-maven-...