Maven的pom.xml文件结构详解

Maven的pom.xml文件简称POM (Project Object Model),是Maven项目的配置和管理核心。

pom.xml文件包含大量配置信息,这些信息大致可以分为4类。

1.POM的模型版本

<modelVersion>4.0.0</modelVersion>
说明:在Maven2和Maven3中,只支持4.0.0版本。


2.基本配置

  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <packaging>...</packaging>
  <dependencies>...</dependencies>
  <parent>...</parent>
  <dependencyManagement>...</dependencyManagement>
  <modules>...</modules>
  <properties>...</properties>
说明:

  • groupId,构件所属的组织ID
  • artifactId,构件的ID
  • version,构件的当前版本
其他配置参数将在后续文章中详述。


3.Build配置

  <build>...</build>
  <reporting>...</reporting>
具体配置参数将在后续文章中详述。


4.环境配置

  <issueManagement>...</issueManagement>
  <ciManagement>...</ciManagement>
  <mailingLists>...</mailingLists>
  <distributionManagement>...</distributionManagement>
  <scm>...</scm>
  <prerequisites>...</prerequisites>
  <repositories>...</repositories>
  <pluginRepositories>...</pluginRepositories>
  <profiles>...</profiles>
说明:

  • issueManagement,给出defect tracking system及其访问URL
    • system
    • url
  • ciManagement,给出Continuous Integration Management、其URL和notifier
    • system
    • url
    • notifiers,集成过程中发生事件,以某种方式(如mail)通知开发人员
  • scm,software configuration management
    • connection,用户使用的URI,能够只读地访问版本控制系统
    • developerConnection,开发人员使用URI,能够读写地访问版本控制系统
    • tag,项目当前的tag
    • url,可通过Web浏览器访问的公共网址
  • distributionManagement,构件的发布管理,详情见后续文章
  • prerequisites,POM执行的前提条件,目前只支持对Maven版本的要求
    • maven
  • mailingLists,开发人员或用户的邮件列表
    • mailingList
      • name
      • subscribe,订阅地址
      • unsubscribe,取消订阅地址
      • post,POST邮件的目的地址
      • archive,打包的邮件列表历史记录
      • otherArchives,镜像打包的邮件列表历史记录

其他参数将在后续文章中详述。

5.其他信息

  <name>...</name>
  <description>...</description>
  <url>...</url>
  <inceptionYear>...</inceptionYear>
  <licenses>...</licenses>
  <organization>...</organization>
  <developers>...</developers>
  <contributors>...</contributors>
说明:
  • name,项目的名称代号
  • description,项目的说明
  • url,项目的官网URL
  • inceptionYear,项目的开发年份
  • licenses,项目使用的License。其中可以包含多个license,license具体又包含如下子属性
    • name,license的名称
    • url,license可访问的URL地址
    • distribution,license发布的方式。repo表示可以直接从Maven库下载,manual表示必须手工安装
    • comments,对license的说明
  • organization,包含组织的name,组织的官网url
  • developers,其中的developer包含id, name, email, url, organization, organizationUrl, roles, timezone, properties属性
    • properties是可以自定义的各种必要属性
  • contributors,其中的contributor包含与developer基本相同的属性,除了没有id属性之外

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值