一、POM 文件
Project Object Model 项目对象模型(POM)。Maven把一个项目的结构和内容抽象成一个模型,在xml文件中进行声明,以方便进行构建和操作,pom.xml 是 Maven 的灵魂。所以,maven环境搭建好之后,所有的学习和操作都是关于pom.xml 的。
pom.xml中有什么可写和可了解的?
标签名 | 基本信息 |
---|---|
modelVersion | Maven 模型的版本,对于 Maven2 和 Maven3 来说,它只能是 4.0.0 |
groupId | 组织 id,一般是公司域名的倒写。 格式可以为:1. 域名倒写。 例如 com.baidu 2. 域名倒写+项目名。例如 com.baidu.appolo |
artifactId | 项目名称,也是模块名称,对应 groupId 中 项目中的子项目 |
version | 目的版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOTversion 使用三位数字标识,例如 1.1.0 |
\ | groupId 、artifactId 、version 三个元素生成了一个Maven 项目的基本坐标,在众多的maven 项目中可以唯一定位到某一个项目。坐标也决定着将来项目在仓库 中 的 路 径 及 名称。 |
packaging | 项目打包的类型,可以使 jar、war、rar、ear、pom,默认是 jar |
\ | 依赖 |
dependencies 和dependency | Maven 的一个重要作用就是管理 jar 包,为了一个项目可以构或运行,项目中不可避免的,会依赖很多其他的 jar 包,在 Maven 中,这些 jar 就被称为依赖,使用标签 dependency 来配置。而这种依赖的配置正是通过坐标来定位的,由此我们也不难看出,maven 把所有的 jar 包也都视为项目存在了。 |
\ | 构建 |
build | build 表示与构建相关的配置,例如设置编译插件的 jdk 版本 |
\ | 配置属性 |
properties | properties 是 用 来 定 义 一 些 配 置 属 性 的 , 例 如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。 |
坐标:唯一值, 在互联网中唯一标识一个项目的
<groupId>公司域名的倒写</groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>
https://mvnrepository.com/ 搜索使用的中央仓库, 使用groupId 或者 artifactId作为搜索条件
packaging: 打包后压缩文件的扩展名,默认是jar ,web应用是war
packaging 可以不写, 默认是jar
依赖
dependencies 和dependency ,相当于是 java代码中import
你的项目中要使用的各种资源说明, 比我的项目要使用mysql驱动
<dependencies>
<!--依赖 java代码中 import -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
properties:设置属性
build : maven在进行项目的构建时, 配置信息,例如指定编译java代码使用的jdk的版本等
二、仓库
2.1 仓库的概念
maven怎么就这么神奇,我们写完的工程交给他之后,他就能够自动帮我们管理,我们依赖的jar包它从哪儿获取呢?有人说已经安装了,在它的安装包里啊,我们可以看一下maven下载下来才8M,我们需要的jar包有时候都几百兆甚至几个G,它从哪儿弄去呢?其实,maven有仓库的概念。在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven核心程序仅仅定义了自动化构建项目的生命周期,但具体的构建工作是由特定的构件完成的。而且为了提高构建的效率和构件复用,maven把所有的构件统一存储在某一个位置,这个位置就叫做仓库。
2.2 仓库存什么
仓库是存放东西的,Maven 仓库的是:
- Maven 的插件,插件也是一些 jar,这些 jar 可以完成一定的功能。
- 我们自己开发项目的模块
- 第三方框架或工具的 jar 包
2.3 仓库的类别
根据仓库存储的位置,把仓库分为本地仓库和远程仓库。
本地仓库:存在于当前电脑上,默认存放在 用户的主目录.m2\repository中,为本机上所有的Maven工程服务。你也可以通过Maven的配置文件/conf/settings.xml中修改本地仓库所在的目录。
远程仓库:在互联网上的,使用网络才能使用的仓库
①:中央仓库,最权威的, 所有的开发人员都共享使用的一个集中的仓库,其地址是:http://repo.maven.apache.org/maven2/
②:中央仓库的镜像:就是中央仓库的备份, 在各大洲,重要的城市都是镜像。
③:私服,在公司内部,在局域网中使用的, 不是对外使用的。
2.4 Maven 对仓库的使用
仓库的使用,maven仓库的使用不需要人为参与。
开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库
资源搜索地址:https://mvnrepository.com/