对pom.xml的理解

maven 概述

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个 XML 文件,包含了项目

的基本信息,用于描述项目如何构建,声明项目依赖,等等。

执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。

POM 中可以指定以下配置:

 项目依赖

 插件

 执行目标

 项目构建 profile

 项目版本

 项目开发者列表

 相关邮件列表信息

在创建 POM.xml 之前,我们首先需要描述项目组 (groupId), 项目的唯一 ID。

<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
  <!-- 模型版本 -->
  <modelVersion>4.0.0</modelVersion>
  <!-- 公司或者组织的唯一标志 --> 
  <groupId>com.companyname.project-group</groupId>
  <!-- 项目的项目名称 -->
  <artifactId>project</artifactId> 
  <!-- 版本号 --> 
  <version>1.0</version> 
</project>

maven 坐标的主要组成

Maven 项目坐标是唯一的标识,有以下组成:

 groupId:定义当前 maven 项目属于哪个项目

 artifactId:定义实际项目中的某一个模块

 version:定义当前项目的当前版本

根据这些坐标,在 maven 库中可以找到唯一的 jar 包

例如:

<dependency> 
  <groupId>org.mybatis</groupId> 
  <artifactId>mybatis</artifactId> 
  <version>3.1.1</version> 
</dependency>

Maven dependencies 引入外部依赖

<!--引入项目中使用的第三方 jar 包-->
<dependencies>
  <!--引入 junit 版本 4.11 测试 jar 包,并声明是测试的范围-->
  <dependency> 
  <groupId>junit</groupId> 
  <artifactId>junit</artifactId> 
  <version>4.11</version>
  <scope>test</scope> 
  </dependency> 
  <!--引入 hadoop-client 版本是 3.1.2jar 包--> 
  <dependency> <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-client</artifactId>
  <version>3.1.2</version> </dependency> 
  <!-- 如需要再增加 jar 包 ,再增加<dependency>即可-->
</dependencies>
<dependency>中的<scope>的选值

在 POM 4 中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用 5 个值:

 compile,默认值,缺省值,适用于所有阶段,会随着项目一起发布。

 provided,类似 compile,期望 JDK、容器或使用者会提供这个依赖。如 servlet.jar。

 runtime,只在运行时使用,如 JDBC 驱动,适用运行和测试阶段。

 test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。

 system,类似 provided,需要显式提供包含依赖的 jar,Maven 不会在 Repository 中查找它。

整理自老师的上课内容,若有错误望指正,侵删。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值