这是 Maven 中使用的 Maven 项目描述符的参考。
XSD 可在以下位置获得:
<project> <modelVersion/> <parent> <artifactId/> <groupId/> <version/> <relativePath/> </parent> <groupId/> <artifactId/> <version/> <packaging/> <name/> <description/> <url/> <inceptionYear/> <organization> <name/> <url/> </organization> <licenses> <license> <name/> <url/> <distribution/> <comments/> </license> </licenses> <mailingLists> <mailingList> <name/> <subscribe/> <unsubscribe/> <post/> <archive/> <otherArchives/> </mailingList> </mailingLists> <developers> <developer> <id/> <name/> <email/> <url/> <organization/> <organizationUrl/> <roles/> <timezone/> <properties/> </developer> </developers> <contributors> <contributor> <name/> <email/> <url/> <organization/> <organizationUrl/> <roles/> <timezone/> <properties/> </contributor> </contributors> <issueManagement> <system/> <url/> </issueManagement> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <ciManagement> <system/> <url/> <notifiers> <notifier> <type/> <sendOnError/> <sendOnFailure/> <sendOnSuccess/> <sendOnWarning/> <address/> <configuration/> </notifier> </notifiers> </ciManagement> <prerequisites> <maven/> </prerequisites> <build> <sourceDirectory/> <scriptSourceDirectory/> <testSourceDirectory/> <outputDirectory/> <testOutputDirectory/> <extensions> <extension> <groupId/> <artifactId/> <version/> </extension> </extensions> <defaultGoal/> <resources> <resource> <targetPath/> <filtering/> <mergeId/> <directory/> <includes/> <excludes/> </resource> </resources> <testResources> <testResource> <targetPath/> <filtering/> <mergeId/> <directory/> <includes/> <excludes/> </testResource> </testResources> <directory/> <finalName/> <filters/> <pluginManagement> <plugins> <plugin> <groupId/> <artifactId/> <version/> <extensions/> <executions> <execution> <id/> <phase/> <goals/> <inherited/> <configuration/> </execution> </executions> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <goals/> <inherited/> <configuration/> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId/> <artifactId/> <version/> <extensions/> <executions> <execution> <id/> <phase/> <goals/> <inherited/> <configuration/> </execution> </executions> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <goals/> <inherited/> <configuration/> </plugin> </plugins> </build> <profiles> <profile> <id/> <activation> <activeByDefault/> <jdk/> <os> <name/> <family/> <arch/> <version/> </os> <property> <name/> <value/> </property> <file> <missing/> <exists/> </file> </activation> <build> <defaultGoal/> <resources> <resource> <targetPath/> <filtering/> <mergeId/> <directory/> <includes/> <excludes/> </resource> </resources> <testResources> <testResource> <targetPath/> <filtering/> <mergeId/> <directory/> <includes/> <excludes/> </testResource> </testResources> <directory/> <finalName/> <filters/> <pluginManagement> <plugins> <plugin> <groupId/> <artifactId/> <version/> <extensions/> <executions> <execution> <id/> <phase/> <goals/> <inherited/> <configuration/> </execution> </executions> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <goals/> <inherited/> <configuration/> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId/> <artifactId/> <version/> <extensions/> <executions> <execution> <id/> <phase/> <goals/> <inherited/> <configuration/> </execution> </executions> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <goals/> <inherited/> <configuration/> </plugin> </plugins> </build> <distributionManagement> <repository> <uniqueVersion/> <id/> <name/> <url/> <layout/> </repository> <snapshotRepository> <uniqueVersion/> <id/> <name/> <url/> <layout/> </snapshotRepository> <site> <id/> <name/> <url/> </site> <downloadUrl/> <relocation> <groupId/> <artifactId/> <version/> <message/> </relocation> <status/> </distributionManagement> <modules/> <repositories> <repository> <releases> <enabled/> <updatePolicy/> <checksumPolicy/> </releases> <snapshots> <enabled/> <updatePolicy/> <checksumPolicy/> </snapshots> <id/> <name/> <url/> <layout/> </repository> </repositories> <pluginRepositories> <pluginRepository> <releases> <enabled/> <updatePolicy/> <checksumPolicy/> </releases> <snapshots> <enabled/> <updatePolicy/> <checksumPolicy/> </snapshots> <id/> <name/> <url/> <layout/> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <reports/> <reporting> <excludeDefaults/> <outputDirectory/> <plugins> <plugin> <groupId/> <artifactId/> <version/> <inherited/> <configuration/> <reportSets> <reportSet> <id/> <configuration/> <inherited/> <reports/> </reportSet> </reportSets> </plugin> </plugins> </reporting> <dependencyManagement> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> </dependencyManagement> <properties/> </profile> </profiles> <distributionManagement> <repository> <uniqueVersion/> <id/> <name/> <url/> <layout/> </repository> <snapshotRepository> <uniqueVersion/> <id/> <name/> <url/> <layout/> </snapshotRepository> <site> <id/> <name/> <url/> </site> <downloadUrl/> <relocation> <groupId/> <artifactId/> <version/> <message/> </relocation> <status/> </distributionManagement> <modules/> <repositories> <repository> <releases> <enabled/> <updatePolicy/> <checksumPolicy/> </releases> <snapshots> <enabled/> <updatePolicy/> <checksumPolicy/> </snapshots> <id/> <name/> <url/> <layout/> </repository> </repositories> <pluginRepositories> <pluginRepository> <releases> <enabled/> <updatePolicy/> <checksumPolicy/> </releases> <snapshots> <enabled/> <updatePolicy/> <checksumPolicy/> </snapshots> <id/> <name/> <url/> <layout/> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> <reports/> <reporting> <excludeDefaults/> <outputDirectory/> <plugins> <plugin> <groupId/> <artifactId/> <version/> <inherited/> <configuration/> <reportSets> <reportSet> <id/> <configuration/> <inherited/> <reports/> </reportSet> </reportSets> </plugin> </plugins> </reporting> <dependencyManagement> <dependencies> <dependency> <groupId/> <artifactId/> <version/> <type/> <classifier/> <scope/> <systemPath/> <exclusions> <exclusion> <artifactId/> <groupId/> </exclusion> </exclusions> <optional/> </dependency> </dependencies> </dependencyManagement> <properties/> </project>
<project>
元素是描述符的根
。下表列出了所有可能的子元素。
元素 | 描述 |
---|---|
modelVersion |
声明此 POM 符合哪个版本的项目描述符。 |
parent |
父项目的位置(如果存在)。如果未指定父项目的值,则它们将成为该项目的默认值。该位置以组 ID、工件 ID 和版本的形式给出。 |
groupId |
项目的通用唯一标识符。通常使用完全限定的包名称来将其与具有相似名称的其他项目区分开来(例如。org.apache.maven )。
|
artifactId |
此工件的标识符在由组 ID 给出的组内是唯一的。工件是项目生产或使用的东西。Maven 为项目生成的工件示例包括:JAR、源代码和二进制分发以及 WAR。 |
version |
此项目生成的工件的当前版本。 |
packaging |
此项目生成的工件类型,例如jar war ear pom . 插件可以创建自己的包装,因此也可以创建自己的包装类型,因此此列表不包含所有可能的类型。默认值为jar 。 |
name |
项目的全名。 |
description |
项目的详细描述,Maven 在需要描述项目时使用,例如在网站上。虽然可以将此元素指定为 CDATA 以启用在描述中使用 HTML 标记,但不鼓励允许纯文本表示。如果您需要修改生成网站的索引页面,您可以指定您自己的而不是调整此文本。 |
url |
项目主页的 URL。 |
inceptionYear |
项目开始的年份,用 4 位数字指定。此值用于生成版权声明以及提供信息。 |
organization |
该元素描述了项目所属组织的各种属性。创建文档时会使用这些属性(用于版权声明和链接)。 |
licenses |
此元素描述了该项目的所有许可证。每个许可证由一个license 元素描述,然后由附加元素描述。项目应该只列出适用于项目的许可证,而不是适用于依赖项的许可证。如果列出了多个许可证,则假定用户可以选择其中任何一个,而不是他们必须全部接受。
|
mailingLists |
包含有关项目邮件列表的信息。 |
developers |
描述项目的提交者。 |
contributors |
描述尚未成为提交者的项目的贡献者。 |
issueManagement |
项目的问题管理系统信息。 |
scm |
项目使用的 SCM 规范,如 CVS、Subversion 等。 |
ciManagement |
项目的持续集成信息。 |
prerequisites |
描述此项目的构建环境中的先决条件。 |
build |
构建项目所需的信息。 |
profiles |
项目本地构建配置文件列表,激活时将修改构建过程。 |
distributionManagement |
项目的分发信息,可以将站点和工件分别部署到远程 Web 服务器和存储库。 |
modules |
作为该项目的一部分构建的模块(有时称为子项目)。列出的每个模块都是包含该模块的目录的相对路径。 |
repositories |
用于发现依赖项和扩展的远程存储库列表。 |
pluginRepositories |
用于发现构建和报告插件的远程存储库列表。 |
dependencies |
此元素描述与项目关联的所有依赖项。这些依赖项用于在构建过程中为您的项目构建类路径。它们会自动从该项目中定义的存储库中下载。有关更多信息,请参阅依赖机制。 |
reports |
已弃用。现在被 Maven 忽略。 |
reporting |
此元素包括用于在 Maven 生成的站点上生成报告的报告插件规范。这些报告将在用户执行时运行mvn site 。所有报告都将包含在导航栏中以供浏览。
|
dependencyManagement |
继承自此的项目的默认依赖项信息。本节中的依赖关系不会立即解决。相反,当派生自此的 POM 声明由匹配的 groupId 和 artifactId 描述的依赖项时,如果尚未指定此部分中的版本和其他值,则它们将用于该依赖项。 |
properties |
可在整个 POM 中用作替代的属性,如果启用,则用作资源中的过滤器。格式为<name>value</name> .
|
该<parent>
元素包含父项目所需的信息。
元素 | 描述 |
---|---|
artifactId |
要继承的父项目的工件 ID。 |
groupId |
要继承的父项目的组 ID。 |
version |
要继承的父项目的版本。 |
relativePath |
pom.xml 检出
中父文件的相对路径。默认值为../pom.xml 。Maven首先在当前构建项目的reactor中查找父pom,然后在文件系统上的这个位置,然后是本地存储库,最后是远程存储库。
relativePath 允许您选择不同的位置,例如,当您的结构是平坦的,或更深而没有中间父 pom 时。但是,组 ID、工件 ID 和版本仍然是必需的,并且必须与给定位置的文件匹配,否则它将恢复到 POM 的存储库。此功能仅用于增强该项目的本地结帐开发。默认值为../pom.xml 。 |
描述此项目的许可证。这用于生成项目网站的许可页面,以及在其他报告和验证中考虑。为项目列出的许可证是项目本身的许可证,而不是依赖项的许可证。
元素 | 描述 |
---|---|
name |
许可证的完整法定名称。 |
url |
许可证文本的官方网址。 |
distribution |
分发此项目的主要方法。
|
comments |
与此许可证有关的附录信息。 |
此元素描述与项目关联的所有邮件列表。自动生成的站点引用此信息。
元素 | 描述 |
---|---|
name |
邮寄名单的名称。 |
subscribe |
可用于订阅邮件列表的电子邮件地址或链接。如果这是一个电子邮件地址,
mailto: 则会在创建文档时自动创建一个链接。
|
unsubscribe |
可用于取消订阅邮件列表的电子邮件地址或链接。如果这是一个电子邮件地址,
mailto: 则会在创建文档时自动创建一个链接。
|
post |
可用于发布到邮件列表的电子邮件地址或链接。如果这是一个电子邮件地址,
mailto: 则会在创建文档时自动创建一个链接。
|
archive |
指向您可以浏览邮件列表存档的 URL 的链接。 |
otherArchives |
您可以在其中浏览列表存档的备用 URL 的链接。 |
有关此项目的其中一位提交者的信息。
元素 | 描述 |
---|---|
id |
开发者在 SCM 中的唯一 ID。 |
name |
贡献者的全名。 |
email |
投稿人的电子邮件地址。 |
url |
贡献者主页的 URL。 |
organization |
贡献者所属的组织。 |
organizationUrl |
组织的 URL。 |
roles |
贡献者在项目中扮演的角色。每个角色由一个
role 元素描述,其主体是一个角色名称。这也可以用来描述贡献。
|
timezone |
贡献者所在的时区。这是一个介于 -11 到 12 之间的数字。 |
properties |
有关贡献者的属性,例如即时消息句柄。 |
对项目做出贡献但没有提交权限的人员的描述。通常,这些贡献以提交的补丁的形式出现。
元素 | 描述 |
---|---|
name |
贡献者的全名。 |
email |
投稿人的电子邮件地址。 |
url |
贡献者主页的 URL。 |
organization |
贡献者所属的组织。 |
organizationUrl |
组织的 URL。 |
roles |
贡献者在项目中扮演的角色。每个角色由一个
role 元素描述,其主体是一个角色名称。这也可以用来描述贡献。
|
timezone |
贡献者所在的时区。这是一个介于 -11 到 12 之间的数字。 |
properties |
有关贡献者的属性,例如即时消息句柄。 |
该<scm>
元素包含项目的 SCM(源代码控制管理)所需的信息。
元素 | 描述 |
---|---|
connection |
描述存储库以及如何连接到存储库的源代码控制管理系统 URL。有关详细信息,请参阅支持的 SCM 的 URL 格式 和列表。此连接是只读的。 |
developerConnection |
就像connection ,但对于开发人员,即这个 scm 连接不会是只读的。
|
tag |
当前代码的标签。默认情况下,它在开发过程中设置为 HEAD。默认值为HEAD 。 |
url |
项目的可浏览 SCM 存储库的 URL,例如 ViewVC 或 Fisheye。 |
该<CiManagement>
元素包含项目持续集成系统所需的信息。
元素 | 描述 |
---|---|
system |
持续集成系统的名称,例如continuum 。
|
url |
项目使用的持续集成系统的 URL(如果它具有 Web 界面)。 |
notifiers |
构建失败时通知开发者/用户的配置,包括用户信息和通知方式。 |
配置一种在构建中断时通知用户/开发人员的方法。
元素 | 描述 |
---|---|
type |
用于传递通知的机制。默认值为mail 。 |
sendOnError |
是否发送错误通知。默认值为true 。 |
sendOnFailure |
是否发送失败通知。默认值为true 。 |
sendOnSuccess |
是否发送成功通知。默认值为true 。 |
sendOnWarning |
是否发送警告通知。默认值为true 。 |
address |
已弃用。将通知发送到哪里 - 例如电子邮件地址。 |
configuration |
特定于此通知程序的扩展配置在此处。 |
该<build>
元素包含构建项目所需的信息。
元素 | 描述 |
---|---|
sourceDirectory |
此元素指定包含项目源的目录。生成的构建系统会在项目构建时编译该目录下的源码。给出的路径是相对于项目描述符的。 |
scriptSourceDirectory |
此元素指定包含项目脚本源的目录。此目录与 sourceDirectory 不同,因为它的内容在大多数情况下将被复制到输出目录(因为脚本被解释而不是编译)。 |
testSourceDirectory |
此元素指定包含项目的单元测试源的目录。生成的构建系统将在测试项目时编译这些目录。给出的路径是相对于项目描述符的。 |
outputDirectory |
放置已编译应用程序类的目录。 |
testOutputDirectory |
放置已编译测试类的目录。 |
extensions |
一组要从此项目中使用的构建扩展。 |
defaultGoal |
当没有为项目指定时执行的默认目标(或 Maven 2 中的阶段)。 |
resources |
此元素描述所有类路径资源,例如与项目关联的属性文件。这些资源通常包含在最终包中。 |
testResources |
此元素描述所有类路径资源,例如与项目的单元测试关联的属性文件。 |
directory |
放置构建生成的所有文件的目录。 |
finalName |
将调用生成的工件的文件名(不包括扩展名,并且没有路径信息)。默认值为${artifactId}-${version} 。
|
filters |
启用过滤时使用的过滤器属性文件列表。 |
pluginManagement |
默认插件信息可供从该项目派生的项目参考。除非被引用,否则此插件配置不会被解析或绑定到生命周期。给定插件的任何本地配置都将在此处覆盖插件的整个定义。 |
plugins |
要使用的插件列表。 |
该元素描述了与项目或单元测试相关的所有类路径资源。
元素 | 描述 |
---|---|
targetPath |
描述资源目标路径。该路径相对于目标/类目录(即${project.build.outputDirectory} )。例如,如果您希望该资源出现在特定包 ( org.apache.maven.messages ) 中,则必须使用以下值指定此元素:org/apache/maven/messages 。但是,如果您只是将资源放在源目录结构中,则不需要这样做。
|
filtering |
是否过滤资源以用参数化值替换标记。这些值取自properties 元素和元素中列出的文件中的属性filters 。默认值为false 。 |
mergeId |
仅限内部使用。这是分配给每个资源的唯一标识符,以允许 Maven 合并在执行插件期间发生的对该资源的更改。该字段必须由生成的解析器和格式化程序类管理,以使其能够在模型插值中存活。 |
directory |
描述存储资源的目录。路径是相对于 POM 的。 |
includes |
要包括的模式列表,例如**/*.xml 。
|
excludes |
要排除的模式列表,例如**/*.xml |
该元素描述了与项目或单元测试相关的所有类路径资源。
元素 | 描述 |
---|---|
targetPath |
描述资源目标路径。该路径相对于目标/类目录(即${project.build.outputDirectory} )。例如,如果您希望该资源出现在特定包 ( org.apache.maven.messages ) 中,则必须使用以下值指定此元素:org/apache/maven/messages 。但是,如果您只是将资源放在源目录结构中,则不需要这样做。
|
filtering |
是否过滤资源以用参数化值替换标记。这些值取自properties 元素和元素中列出的文件中的属性filters 。默认值为false 。 |
mergeId |
仅限内部使用。这是分配给每个资源的唯一标识符,以允许 Maven 合并在执行插件期间发生的对该资源的更改。该字段必须由生成的解析器和格式化程序类管理,以使其能够在模型插值中存活。 |
directory |
描述存储资源的目录。路径是相对于 POM 的。 |
includes |
要包括的模式列表,例如**/*.xml 。
|
excludes |
要排除的模式列表,例如**/*.xml |
该<plugin>
元素包含插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中插件的工件 ID。 |
version |
要使用的插件的版本(或有效的版本范围)。 |
extensions |
是否从此插件加载 Maven 扩展(例如打包和类型处理程序)。出于性能原因,仅应在必要时启用此功能。默认值为false 。 |
executions |
在构建生命周期中执行的一组目标的多个规范,每个(可能)具有不同的配置。 |
dependencies |
该项目需要向插件的类加载器引入的其他依赖项。 |
goals |
已弃用。Maven 未使用。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<execution>
元素包含执行插件所需的信息。
元素 | 描述 |
---|---|
id |
此执行的标识符,用于在构建期间标记目标,并在继承期间匹配执行以合并。默认值为default 。 |
phase |
将此执行中的目标绑定到的构建生命周期阶段。如果省略,目标将绑定到其元数据中指定的默认阶段。 |
goals |
使用给定配置执行的目标。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
该<plugin>
元素包含插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中插件的工件 ID。 |
version |
要使用的插件的版本(或有效的版本范围)。 |
extensions |
是否从此插件加载 Maven 扩展(例如打包和类型处理程序)。出于性能原因,仅应在必要时启用此功能。默认值为false 。 |
executions |
在构建生命周期中执行的一组目标的多个规范,每个(可能)具有不同的配置。 |
dependencies |
该项目需要向插件的类加载器引入的其他依赖项。 |
goals |
已弃用。Maven 未使用。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<execution>
元素包含执行插件所需的信息。
元素 | 描述 |
---|---|
id |
此执行的标识符,用于在构建期间标记目标,并在继承期间匹配执行以合并。默认值为default 。 |
phase |
将此执行中的目标绑定到的构建生命周期阶段。如果省略,目标将绑定到其元数据中指定的默认阶段。 |
goals |
使用给定配置执行的目标。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
对基于环境参数或命令行参数激活的构建过程的修改。
元素 | 描述 |
---|---|
id |
此构建配置文件的标识符。这既用于命令行激活,也用于识别要在继承期间合并的相同配置文件。 |
activation |
将自动触发包含此配置文件的条件逻辑。 |
build |
构建项目所需的信息。 |
distributionManagement |
项目的分发信息,可以将站点和工件分别部署到远程 Web 服务器和存储库。 |
modules |
作为该项目的一部分构建的模块(有时称为子项目)。列出的每个模块都是包含该模块的目录的相对路径。 |
repositories |
用于发现依赖项和扩展的远程存储库列表。 |
pluginRepositories |
用于发现构建和报告插件的远程存储库列表。 |
dependencies |
此元素描述与项目关联的所有依赖项。这些依赖项用于在构建过程中为您的项目构建类路径。它们会自动从该项目中定义的存储库中下载。有关更多信息,请参阅依赖机制。 |
reports |
已弃用。现在被 Maven 忽略。 |
reporting |
此元素包括用于在 Maven 生成的站点上生成报告的报告插件规范。这些报告将在用户执行时运行mvn site 。所有报告都将包含在导航栏中以供浏览。
|
dependencyManagement |
继承自此的项目的默认依赖项信息。本节中的依赖关系不会立即解决。相反,当派生自此的 POM 声明由匹配的 groupId 和 artifactId 描述的依赖项时,如果尚未指定此部分中的版本和其他值,则它们将用于该依赖项。 |
properties |
可在整个 POM 中用作替代的属性,如果启用,则用作资源中的过滤器。格式为<name>value</name> .
|
构建运行时环境中将触发自动包含构建配置文件的条件。
元素 | 描述 |
---|---|
activeByDefault |
如果设置为 true,则此配置文件将处于活动状态,除非使用命令行 -P 选项或该配置文件的激活器之一激活此 pom 中的另一个配置文件。默认值为false 。 |
jdk |
指定在检测到匹配的 JDK 时激活此配置文件。例如,1.4 仅在版本为 1.4 的 JDK 上激活,同时!1.4 匹配任何不是版本 1.4 的 JDK。
|
os |
指定在检测到匹配的操作系统属性时激活此配置文件。 |
property |
指定在指定此系统属性时将激活此配置文件。 |
file |
指定将根据文件的存在激活此配置文件。 |
这是一个激活器,它将检测操作系统的属性以激活其配置文件。
元素 | 描述 |
---|---|
name |
用于激活配置文件的操作系统的名称。这必须与${os.name} Java 属性完全匹配,例如Windows XP .
|
family |
用于激活配置文件的通用操作系统系列,例如
windows 或unix 。
|
arch |
用于激活配置文件的操作系统架构。 |
version |
用于激活配置文件的操作系统版本。 |
这是用于激活配置文件的属性规范。如果 value 字段为空,则命名属性的存在将激活配置文件,否则它也会对属性值进行区分大小写的匹配。
元素 | 描述 |
---|---|
name |
用于激活配置文件的属性名称。 |
value |
激活配置文件所需的属性值。 |
这是用于激活配置文件的文件规范。缺少的值将是需要存在的文件的位置,如果不存在,则将激活配置文件。另一方面,exists 将测试文件是否存在,如果存在,则配置文件将被激活。
元素 | 描述 |
---|---|
missing |
激活配置文件必须缺少的文件的名称。 |
exists |
激活配置文件必须存在的文件的名称。 |
构建的一般信息。
元素 | 描述 |
---|---|
defaultGoal |
当没有为项目指定时执行的默认目标(或 Maven 2 中的阶段)。 |
resources |
此元素描述所有类路径资源,例如与项目关联的属性文件。这些资源通常包含在最终包中。 |
testResources |
此元素描述所有类路径资源,例如与项目的单元测试关联的属性文件。 |
directory |
放置构建生成的所有文件的目录。 |
finalName |
将调用生成的工件的文件名(不包括扩展名,并且没有路径信息)。默认值为${artifactId}-${version} 。
|
filters |
启用过滤时使用的过滤器属性文件列表。 |
pluginManagement |
默认插件信息可供从该项目派生的项目参考。除非被引用,否则此插件配置不会被解析或绑定到生命周期。给定插件的任何本地配置都将在此处覆盖插件的整个定义。 |
plugins |
要使用的插件列表。 |
该元素描述了与项目或单元测试相关的所有类路径资源。
元素 | 描述 |
---|---|
targetPath |
描述资源目标路径。该路径相对于目标/类目录(即${project.build.outputDirectory} )。例如,如果您希望该资源出现在特定包 ( org.apache.maven.messages ) 中,则必须使用以下值指定此元素:org/apache/maven/messages 。但是,如果您只是将资源放在源目录结构中,则不需要这样做。
|
filtering |
是否过滤资源以用参数化值替换标记。这些值取自properties 元素和元素中列出的文件中的属性filters 。默认值为false 。 |
mergeId |
仅限内部使用。这是分配给每个资源的唯一标识符,以允许 Maven 合并在执行插件期间发生的对该资源的更改。该字段必须由生成的解析器和格式化程序类管理,以使其能够在模型插值中存活。 |
directory |
描述存储资源的目录。路径是相对于 POM 的。 |
includes |
要包括的模式列表,例如**/*.xml 。
|
excludes |
要排除的模式列表,例如**/*.xml |
该元素描述了与项目或单元测试相关的所有类路径资源。
元素 | 描述 |
---|---|
targetPath |
描述资源目标路径。该路径相对于目标/类目录(即${project.build.outputDirectory} )。例如,如果您希望该资源出现在特定包 ( org.apache.maven.messages ) 中,则必须使用以下值指定此元素:org/apache/maven/messages 。但是,如果您只是将资源放在源目录结构中,则不需要这样做。
|
filtering |
是否过滤资源以用参数化值替换标记。这些值取自properties 元素和元素中列出的文件中的属性filters 。默认值为false 。 |
mergeId |
仅限内部使用。这是分配给每个资源的唯一标识符,以允许 Maven 合并在执行插件期间发生的对该资源的更改。该字段必须由生成的解析器和格式化程序类管理,以使其能够在模型插值中存活。 |
directory |
描述存储资源的目录。路径是相对于 POM 的。 |
includes |
要包括的模式列表,例如**/*.xml 。
|
excludes |
要排除的模式列表,例如**/*.xml |
该<plugin>
元素包含插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中插件的工件 ID。 |
version |
要使用的插件的版本(或有效的版本范围)。 |
extensions |
是否从此插件加载 Maven 扩展(例如打包和类型处理程序)。出于性能原因,仅应在必要时启用此功能。默认值为false 。 |
executions |
在构建生命周期中执行的一组目标的多个规范,每个(可能)具有不同的配置。 |
dependencies |
该项目需要向插件的类加载器引入的其他依赖项。 |
goals |
已弃用。Maven 未使用。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<execution>
元素包含执行插件所需的信息。
元素 | 描述 |
---|---|
id |
此执行的标识符,用于在构建期间标记目标,并在继承期间匹配执行以合并。默认值为default 。 |
phase |
将此执行中的目标绑定到的构建生命周期阶段。如果省略,目标将绑定到其元数据中指定的默认阶段。 |
goals |
使用给定配置执行的目标。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
该<plugin>
元素包含插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中插件的工件 ID。 |
version |
要使用的插件的版本(或有效的版本范围)。 |
extensions |
是否从此插件加载 Maven 扩展(例如打包和类型处理程序)。出于性能原因,仅应在必要时启用此功能。默认值为false 。 |
executions |
在构建生命周期中执行的一组目标的多个规范,每个(可能)具有不同的配置。 |
dependencies |
该项目需要向插件的类加载器引入的其他依赖项。 |
goals |
已弃用。Maven 未使用。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<execution>
元素包含执行插件所需的信息。
元素 | 描述 |
---|---|
id |
此执行的标识符,用于在构建期间标记目标,并在继承期间匹配执行以合并。默认值为default 。 |
phase |
将此执行中的目标绑定到的构建生命周期阶段。如果省略,目标将绑定到其元数据中指定的默认阶段。 |
goals |
使用给定配置执行的目标。 |
inherited |
是否应将任何配置传播到子 POM。 |
configuration |
配置为 DOM 对象。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
此元素描述了与项目分发有关的所有内容。它主要用于部署工件和构建生成的站点。
元素 | 描述 |
---|---|
repository |
将项目生成的工件部署到远程存储库所需的信息。 |
snapshotRepository |
将工件快照部署到的位置。如果未给出,则默认为
repository 元素。
|
site |
部署项目网站所需的信息。 |
downloadUrl |
项目下载页面的 URL。如果没有给出用户将被引用到主页给出的url 。这是为了帮助定位由于许可限制而不在存储库中的工件。
|
relocation |
如果工件已被移动到新的组 ID 和/或工件 ID,则它的重定位信息。 |
status |
提供此工件在远程存储库中的状态。这不能在您的本地项目中设置,因为它是由将其放置在存储库中的工具更新的。有效值为:(none 默认)、
converted (存储库管理器从 Maven 1 POM 转换而来)、
partner
(直接从合作伙伴 Maven 2 存储库同步)、deployed (从 Maven 2 实例部署)、verified (已手动验证为正确和最终)。
|
存储库包含部署到远程存储库所需的信息。
元素 | 描述 |
---|---|
uniqueVersion |
是为快照分配一个由时间戳和内部版本号组成的唯一版本,还是每次都使用相同的版本默认值为true 。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
存储库包含部署到远程存储库所需的信息。
元素 | 描述 |
---|---|
uniqueVersion |
是为快照分配一个由时间戳和内部版本号组成的唯一版本,还是每次都使用相同的版本默认值为true 。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
包含部署网站所需的信息。
元素 | 描述 |
---|---|
id |
部署位置的唯一标识符。例如,这用于将站点与settings.xml 文件中的配置相匹配。
|
name |
部署位置的人类可读名称。 |
url |
网站部署位置的url,格式为protocol://hostname/path .
|
描述工件移动到的位置。如果省略任何值,则假定它与以前相同。
元素 | 描述 |
---|---|
groupId |
工件已移动到的组 ID。 |
artifactId |
工件的新工件 ID。 |
version |
新版本的神器。 |
message |
向用户显示移动的附加消息,例如原因。 |
存储库包含与远程存储库建立连接所需的信息。
元素 | 描述 |
---|---|
releases |
如何处理从此存储库下载版本。 |
snapshots |
如何处理从此存储库下载快照。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
存储库包含与远程存储库建立连接所需的信息。
元素 | 描述 |
---|---|
releases |
如何处理从此存储库下载版本。 |
snapshots |
如何处理从此存储库下载快照。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
用于管理报告及其配置的部分。
元素 | 描述 |
---|---|
excludeDefaults |
如果为 true,则默认报告不包含在站点生成中。这包括“项目信息”菜单中的报告。 |
outputDirectory |
存储所有生成的报告的位置。默认值为
${project.build.directory}/site
.
|
plugins |
要使用的报告插件及其配置。 |
该<plugin>
元素包含报告插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中报告插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中报告插件的工件 ID。 |
version |
要使用的报告插件的版本。 |
inherited |
此插件中的配置是否应可用于从该插件继承的项目。 |
configuration |
报告插件的配置。 |
reportSets |
一组报告的多个规范,每个都具有(可能)不同的配置。execution 这是与构建中的
一个平行的报告。 |
表示一组用于生成它们的报告和配置。
元素 | 描述 |
---|---|
id |
此报告集的唯一 ID,在 POM 继承期间使用。默认值为default 。 |
configuration |
生成此集时要使用的报告的配置。 |
inherited |
是否应将任何配置传播到子 POM。 |
reports |
应该从此集合生成的来自此插件的报告列表。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
此元素描述了与项目分发有关的所有内容。它主要用于部署工件和构建生成的站点。
元素 | 描述 |
---|---|
repository |
将项目生成的工件部署到远程存储库所需的信息。 |
snapshotRepository |
将工件快照部署到的位置。如果未给出,则默认为
repository 元素。
|
site |
部署项目网站所需的信息。 |
downloadUrl |
项目下载页面的 URL。如果没有给出用户将被引用到主页给出的url 。这是为了帮助定位由于许可限制而不在存储库中的工件。
|
relocation |
如果工件已被移动到新的组 ID 和/或工件 ID,则它的重定位信息。 |
status |
提供此工件在远程存储库中的状态。这不能在您的本地项目中设置,因为它是由将其放置在存储库中的工具更新的。有效值为:(none 默认)、
converted (存储库管理器从 Maven 1 POM 转换而来)、
partner
(直接从合作伙伴 Maven 2 存储库同步)、deployed (从 Maven 2 实例部署)、verified (已手动验证为正确和最终)。
|
存储库包含部署到远程存储库所需的信息。
元素 | 描述 |
---|---|
uniqueVersion |
是为快照分配一个由时间戳和内部版本号组成的唯一版本,还是每次都使用相同的版本默认值为true 。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
存储库包含部署到远程存储库所需的信息。
元素 | 描述 |
---|---|
uniqueVersion |
是为快照分配一个由时间戳和内部版本号组成的唯一版本,还是每次都使用相同的版本默认值为true 。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
包含部署网站所需的信息。
元素 | 描述 |
---|---|
id |
部署位置的唯一标识符。例如,这用于将站点与settings.xml 文件中的配置相匹配。
|
name |
部署位置的人类可读名称。 |
url |
网站部署位置的url,格式为protocol://hostname/path .
|
描述工件移动到的位置。如果省略任何值,则假定它与以前相同。
元素 | 描述 |
---|---|
groupId |
工件已移动到的组 ID。 |
artifactId |
工件的新工件 ID。 |
version |
新版本的神器。 |
message |
向用户显示移动的附加消息,例如原因。 |
存储库包含与远程存储库建立连接所需的信息。
元素 | 描述 |
---|---|
releases |
如何处理从此存储库下载版本。 |
snapshots |
如何处理从此存储库下载快照。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
存储库包含与远程存储库建立连接所需的信息。
元素 | 描述 |
---|---|
releases |
如何处理从此存储库下载版本。 |
snapshots |
如何处理从此存储库下载快照。 |
id |
存储库的唯一标识符。例如,这用于将存储库与settings.xml 文件中的配置相匹配。
|
name |
存储库的人类可读名称。 |
url |
存储库的 url,格式为protocol://hostname/path .
|
layout |
此存储库用于定位和存储工件的布局类型可以是legacy 或default . 默认值为default 。 |
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
下载政策。
元素 | 描述 |
---|---|
enabled |
是否使用此存储库来下载此类工件。默认值为true 。 |
updatePolicy |
下载更新的频率 - 可以是
always, daily
(默认)、
interval:XXX
(以分钟为单位)或
never
(仅当本地不存在时)。
|
checksumPolicy |
当工件校验和验证失败时该怎么办。有效值为
ignore
,
fail
或
warn
(默认值)。
|
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |
用于管理报告及其配置的部分。
元素 | 描述 |
---|---|
excludeDefaults |
如果为 true,则默认报告不包含在站点生成中。这包括“项目信息”菜单中的报告。 |
outputDirectory |
存储所有生成的报告的位置。默认值为
${project.build.directory}/site
.
|
plugins |
要使用的报告插件及其配置。 |
该<plugin>
元素包含报告插件所需的信息。
元素 | 描述 |
---|---|
groupId |
存储库中报告插件的组 ID。默认值为org.apache.maven.plugins 。 |
artifactId |
存储库中报告插件的工件 ID。 |
version |
要使用的报告插件的版本。 |
inherited |
此插件中的配置是否应可用于从该插件继承的项目。 |
configuration |
报告插件的配置。 |
reportSets |
一组报告的多个规范,每个都具有(可能)不同的配置。execution 这是与构建中的
一个平行的报告。 |
表示一组用于生成它们的报告和配置。
元素 | 描述 |
---|---|
id |
此报告集的唯一 ID,在 POM 继承期间使用。默认值为default 。 |
configuration |
生成此集时要使用的报告的配置。 |
inherited |
是否应将任何配置传播到子 POM。 |
reports |
应该从此集合生成的来自此插件的报告列表。 |
该<dependency>
元素包含有关项目依赖项的信息。
元素 | 描述 |
---|---|
groupId |
产生依赖项的项目组,例如
org.apache.maven .
|
artifactId |
项目组生成的工件的唯一 ID,例如
maven-artifact .
|
version |
依赖项的版本,例如3.2.1 . 在 Maven 2 中,这也可以指定为一个版本范围。
|
type |
依赖的类型。这默认为jar . 虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与所使用的包装相对应,但也并非总是如此。一些例子是jar ,war 和ejb-client
。test-jar 新类型可以由设置
extensions 为的插件定义true ,所以这不是一个完整的列表。默认值为jar 。 |
classifier |
依赖的分类器。这允许区分属于同一 POM 但构建方式不同的两个工件,并附加到版本之后的文件名中。例如,jdk14 和jdk15 。
|
scope |
依赖的范围 - compile , runtime ,
test , system , 和provided . 用于计算用于编译、测试等的各种类路径。它还有助于确定在该项目的分发中包含哪些工件。有关更多信息,请参阅
依赖机制。
|
systemPath |
仅适用于系统范围。请注意,不鼓励使用此属性,
并且可能会在以后的版本中被替换。这指定了此依赖项在文件系统上的路径。需要值的绝对路径,而不是相对路径。使用提供机器特定绝对路径的属性,例如${java.home} .
|
exclusions |
列出在计算传递依赖项时应从该依赖项的工件列表中排除的一组工件。 |
optional |
指示依赖项对于使用此库是可选的。如果在其他地方使用该库,则依赖关系的版本将被考虑到依赖关系计算中,但它不会被传递。默认值为false 。 |