对pom文档常用标签的解释:学习网址Maven – POM Reference
https://www.cnblogs.com/chenxygx/p/10154445.html
mvn help:effective-pom //展示最终生效的pom内容
mvn dependency:tree>tree.txt //列举出所有引用的包
mvn dependency:tree>tree.txt -Dverbose //列出所有冲突的包(duplicate)
参数 说明
modelVersion Maven配置版本
groupId 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。
artifactId 具体项目的名称
version 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。
packaging 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。
name 项目显示名称
url 项目地址
properties 用于定义变量,可以在当前配置文件pom.xml,以及子Module的pom.xml中引用,引用方式:propertyname,例如:{propertyname},例如:propertyname,例如:{junit.version}
dependencies 用户配置Module的依赖
————————————————
原文链接:https://blog.csdn.net/It_sharp/article/details/102924592
scope | 单个依赖项的作用域,作用域可以是compile、test、runtime、provided、system之一,作用域的意图是限定该依赖项作用范围,如test,则表明依赖项只在test时起作用 |
distributionManagement
此元素描述了与项目分发相关的所有内容。它主要用于部署工件和构建生成的站点。
repository:DeploymentRepository:将项目生成的工件部署到远程存储库所需的信息。
snapshotRepository:DeploymentRepository:何处将工件快照部署到。如果没有给出,则默认为 repository元素。
site:Site:部署项目网站所需的信息。
downloadUrl:String:项目下载页面的URL。如果没有给出用户将被引用到url给出的主页 。这是为了帮助定位由于许可限制而不在存储库中的工件。
relocation:Relocation:工件的重定位信息(如果已移动到新的组ID和/或工件ID)。
status:String:在远程存储库中提供此工件的状态。这不能在您的本地项目中设置,因为它是由放置在reposiory中的工具更新的。有效值包括:无(默认), 转换(存储库管理器从Maven 1 POM转换), 合作伙伴(直接从合作伙伴Maven 2存储库同步), 部署(从Maven 2实例部署), 验证(已手动)验证为正确且最终)。
repository
存储库包含部署到远程存储库所需的信息。
uniqueVersion:boolean:无论分配快照包含时间戳的独特版本和版本号,或者使用相同的版本,每次
默认值是:true。
releases:RepositoryPolicy:如何处理从此存储库下载的版本。
snapshots:RepositoryPolicy:如何处理从此存储库下载快照。
id:String:存储库的唯一标识符。例如,这用于将存储库与settings.xml文件中的配置进行匹配 。此外,在POM继承和配置文件注入期间使用标识符来检测应合并的存储库。
name:String:人类可读的存储库名称。
url:String:存储库的URL,格式为 protocol:// hostname / path。
layout:String:此存储库用于定位和存储工件的布局类型 - 可以是 旧版或 默认版。
默认值为:default。
build
所述 <build>元素包含建立该项目所需的信息。默认值在Super POM中定义。
sourceDirectory:String:此元素指定包含项目源的目录。生成的构建系统将在构建项目时从此目录编译源。给定的路径是相对于项目描述符的。默认值为src / main / java。
scriptSourceDirectory:String:此元素指定包含项目脚本源的目录。此目录与sourceDirectory的不同之处在于,在大多数情况下,其内容将被复制到输出目录(因为脚本是解释而不是编译的)。默认值为src / main / scripts。
testSourceDirectory:String:此元素指定包含项目的单元测试源的目录。生成的构建系统将在测试项目时编译这些目录。给定的路径是相对于项目描述符的。默认值为 src / test / java。
outputDirectory:String:放置已编译应用程序类的目录。默认值为target / classes。
testOutputDirectory:String:放置已编译测试类的目录。默认值为target / test-classes。
extensions/extension*:List<Extension>:(很多)从这个项目中使用的一组构建扩展。
defaultGoal:String:当没有为项目指定时,要执行的默认目标(或Maven 2中的阶段)。请注意,在多模块构建的情况下,只有顶级项目的默认目标是相关的,即忽略子模块的默认目标。从Maven 3开始,多个目标/阶段可以用空格分隔。
resources/resource*:List<Resource>:(很多)此元素描述所有类路径资源,例如与项目关联的属性文件。这些资源通常包含在最终包中。默认值为 src / main / resources。
testResources/testResource*:List<Resource>:(很多)此元素描述所有类路径资源,例如与项目的单元测试关联的属性文件。默认值为 src / test / resources。
directory:String:放置构建生成的所有文件的目录。默认值为target。
finalName:String:生成的工件将被调用的文件名(不包括扩展名,没有路径信息)。默认值为 $ {artifactId} - $ {version}。
filters/filter*:List<String>:(多个)启用过滤时使用的过滤器属性文件列表。
pluginManagement:PluginManagement:默认插件信息可供从此项目派生的项目参考。除非引用,否则此插件配置将不会被解析或绑定到生命周期。给定插件的任何本地配置都将覆盖插件的整个定义。
plugins/plugin*:List<Plugin>:(很多)要使用的插件列表。
plugin
所述<plugin>元素包含一个插件所需信息。
groupId:String:存储库中插件的组ID。
默认值为:org.apache.maven.plugins。
artifactId:String:存储库中插件的工件ID。
version:String:要使用的插件的版本(或有效版本范围)。
extensions:String:是否从此插件加载Maven扩展(例如打包和类型处理程序)。出于性能原因,只应在必要时启用此功能。注意:虽然出于技术原因,此字段的类型为 String,但语义类型实际上是 布尔值。默认值为 false。
executions/execution*:List<PluginExecution>:(很多)在构建生命周期中要执行的一组目标的多个规范,每个目标都具有(可能)不同的配置。
dependencies/dependency*:List<Dependency>:(很多)此项目需要引入插件的类加载器的其他依赖项。
goals:DOM:不推荐。未被Maven使用。
inherited:String:是否应将任何配置传播到子POM。注意:虽然出于技术原因,此字段的类型为 String,但语义类型实际上是布尔值。默认值为 true。