Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档
作用:
标准化的项目结构
标准化的构建流程
方便的依赖管理
仓库分类
本地仓库(Local Repository):自己计算机上的一个目录
中央仓库(Central Repository):有Meven团队维护的全球唯一的仓库
远程仓库(私服)(Remote repository) : 一般由公司团队的搭建的私有仓库
当项目使用坐标引入对依赖jar包后,首先会查找本地 仓库是否有对应的jar包:
如果有:则在项目中直接引用
如果没有,则去中央仓库下载对应的jar包到本地仓库(自动完成)
还可以搭建远程仓库,将来jar包查找规则就是:
本地仓库 ->远程仓库 ->中央仓库
Maven 基本使用
Mavean常用命令
compile:编译
clean:清理
test:测试
package:打包
install:安装 (安装到本地仓库)
Maven声明周期:
maven构建项目声明周期描述的是一次构建过程的经历了多少事件
Maven 对项目构建生命周期划分为三套
clean:清理工作
default:核心工作,例如编译,测试,打包,安装等
site:产生报告,发布站点等
同一生命周期内,执行后面的命令,前面的所有命令会自动执行
第一套 pre-clean-> clean->post-clean
第二套 complie->test->package->install
第三套 pre-site site post-site
Maven坐标详解
什么是坐标
Maven中坐标是资源的唯一标识
使用坐标来定义项目或引入项目中需要的依赖
Maven坐标主要组成
groupid:定义当前Maven项目隶属组织名称(通常为域名反写)
artifactld:定义当前Maven项目名称(通常是模块名称)
version: 定义当前项目版本号
依赖管理
使用坐标导入jar包
1.在pom.xml中编写<dependency> 标签
2 在 <dependencies> 标签中,使用<dependency> 引入坐标
3 定义坐标的group ,artifactld,version
4:点击刷新按钮,使坐标生效
<?xml version="1.0" encoding="UTF-8"?>
<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>org.example</groupId>
<artifactId>untitled</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 当前项目的坐标-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<!--导入mysql驱动jar包 -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
</dependencies>
</project>
可以配置自动生效
File-> Setting ->Build Tools ->选择Any changes 即可,以后就不用点刷新按钮了
快捷键ALT+insert 选择dependency ,直接搜索就可以一件生成
依赖范围
通过设置坐标的依赖范围(scope),可以设置对应的jar包的作用范围:编译环境,测试环境,运行环境
<scope> 默认值:compile