Maven

1.概述

官网: http://maven.apache.org/

Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标
(goal)的逻辑。

Maven: 专门用于管理和构建Java项目的工具,主要功能:

  • 提供了一套标准化的项目结构
    Maven提供了一套标准化的项目结构,所有的编译器使用Maven构建的项目结构完全一样,所有的编译器创建的Maven项目都可以通用
    请添加图片描述

  • 提供了一套标准化的构建流程
    编译→测试→打包→发布

  • 提供了一套依赖管理机制
    依赖管理——管理项目所依赖的第三方资源(jar包、插件…)

Maven模型:

仓库:

  • 本地仓库:计算机上的一个目录
    C盘User中的.m的文件夹
  • 远程仓库(私服):一般由公司团队搭建的私有仓库
  • 中央仓库:由Maven团队维护的全球唯一的仓库(免费开源):https://repo1.maven.org/maven2/

Jar包导入流程:

  • pom.xml中写好依赖配置
  • 现在本地仓库中匹配依赖,没有会去中央仓库匹配、自动下载到本地仓库
  • (对于公司而言,先去本地仓库匹配,再去私服匹配,再去中央仓库,自动下载到私服,再下载到本地仓库)
  • 引用本地仓库的依赖

2.安装配置

2.1 官网下载

http://maven.apache.org/→DownLoad→Previous Releases→ archives →选择下载版本→binaries→选择bin.tar.gz开始下载
请添加图片描述

2.2 安装&配置

解压→配置环境变量→配置本地仓库→配置阿里云私服

解压:
操作过于简单,省略

配置环境变量:
请添加图片描述
验证:cmd输入:mvn -version
在这里插入图片描述
配置成功!

配置本地仓库: conf/settings.xml中的<localRepository>标签
请添加图片描述
记得保存

配置阿里云私服: conf/settings.xml中的<mirrors>标签
提高jar包或插件的下载速度
请添加图片描述

	 <mirror>
		<id>alimaven</id>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<mirrorOf>central</mirrorOf>
	 </mirror>

记得保存

3.Maven基本使用

3.1 常用命令

可以在cmd中对maven工程进行编译、测试、运行、打包、安装、部署

在一个maven项目中打开命令行窗口

1.compile
mvn compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下
首次执行指令会先下载依赖和插件到本地仓库,然后再编译

自动生成 target 目录,.class 文件存在其中,编译完成

  1. test
    mvn test会执行 src/test/java 下的单元测试类

  2. package
    mvn package将Java工程文件打成jar包,web工程文件打成war包

  3. install
    mvn install将当前项目安装到本地仓库

  4. clean
    mvn clean删除 target 目录及内容

3.2 生命周期

maven 对项目构建过程分为三套相互独立的生命周期

  1. Clean 在进行真正的构建之前进行一些清理工作
  2. Default 构建的核心部分,编译,测试,打包,部署等等
  3. Site 生成项目报告,站点,发布站点

在同一生命周期内,执行后边的命令,前边的命令都会自动执行
请添加图片描述

4. IDEA配置Maven

  1. 创建一个空的项目
  2. File-setting
    可以不配置,就用IDEA内置的版本,也可以配置为自己安装的版本
  3. 创建Maven项目(不用模板)
    请添加图片描述
  4. 新建一个类
  5. 导入项目
    打开maven面板
    在这里插入图片描述
    导入项目
    请添加图片描述

Maven插件:Maven Helper
在这里插入图片描述
重启IDEA后可用

5.依赖管理

5.1 Maven坐标

Maven坐标:

  • 资源的唯一标识
  • 通过坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成:

  • groupId:定义当前Maven项目隶属组织名称(一般为公司域名反写)
  • artifactId:定义当前Maven项目名称(模块名称)
  • version:版本号

5.2 依赖管理

官网查看依赖配置书写:http://mvnrepository.com/

以junit单元测试依赖为例:
请添加图片描述

打开pom.xml文件

  • 导入依赖(点击刷新,使依赖生效)
    在这里插入图片描述
    自动生效设置(无需刷新)
    请添加图片描述
  • 快速导入本地仓库的jar包
    alt insert
    请添加图片描述

5.3 依赖范围

在坐标中使用scope标签设置坐标的依赖范围:编译环境、测试环境、运行环境
在这里插入图片描述

依赖范围编译测试运行
compile(默认)
test
provided
runtime
system
import
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

364.99°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值