Maven基础
一、概述:
Maven是用于管理和构建Java项目的工具,它的主要功能有:
提供了一套标准化的项目结构
提供了一套标准化的构建流程(编译,测试,打包,发布......)
提供了一套依赖管理机制
1、标准化的项目结构:
不同的IDE之间,项目结构不一样,不通用
Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
2、标准化的构建流程
编译 ---> 测试 ---> 打包 ---> 发布
Maven提供了一套简答的命令来完成项目的构建
3、依赖管理
其实就是管理你项目所依赖的第三方资源(jar包、插件)
以前:1、下载jar包;2、赋值jar包到项目;3、将jar包加入工作环境
Maven使用标准的坐标配置来管理各种依赖
只需要简单的配置就可以完成依赖管理
二、Maven 简介
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
Maven模型:
项目对象模型:pom.xml
依赖管理模型:仓库
插件
仓库的分类:
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库
地址:https://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库
本地仓库 与 中央仓库:本地没有就自动去中央下载到本地,本地有了就不去了
有远程仓库的话:本地 ---> 远程 ---> 中央(在国外,访问较慢且一般为开源jar包)
三、Maven安装
1、解压网盘资源
2、配置环境变量 MAVEN_HOME 为安装路径的bin目录,然后再Path中添加:%MAVEN_HOME%\bin
3、配置本地仓库:修改conf/settings.xml 中的
4、配置阿里云私服:修改conf/settings.xml 中的
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
四、Maven基本使用
在:src同级目录下 Shift + 鼠标右键
1、Maven 常用命名:
complie:编译,并生成target目录
clean:清理,target目录
test:测试,运行test目录下的代码
package:打包,生成target目录并生成jar包 (注意路径中不要出现&符号)
install:将jar包安装在本地仓库,其在仓库的目录为mian/java下的第一个包名
2、Maevn 声明周期:
Maevn 构建项目的生命周期描述的是一次构建过程经历了多少事件
Maevn 对项目构建的生命周期划分为3套
clean:清理工作
default:核心工作,例如编译,测试,打包,安装等
site:产生报告,发布站点等
同一生命周期内,执行后面的命令,前面的所有命令会自动执行
例如下列三个:
pre-clean clean post-clean
complie test package install (可以先删除target目录,再使用install来自己测试一下)
pre-site site post-site
五、IDEA配置Maven
1、IDEA 配置 Maven 环境:
1、选择 IDEA中 File ---> Setting
2、搜索 maven
3、设置 IDEA 使用本地安装的 Maven,并修改配置文件路径(一个是maven安装路径,一个是settings.xml路径)
2、Maven 坐标详情:
什么是坐标?
Maven 中的坐标是资源的唯一标识
使用坐标来定义项目或引入项目中所需要的依赖
Maven 坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactId:定义当前Maven项目名称(通常是模块名称[代表一些功能],例如:order-service、goods-service)
version:定义当前项目版本号
<groupId>com.itheima</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
3、IDEA 创建 Maven 项目:
1、创建模块,选择Maven,点击Next
2、填写模块名称,坐标信息,点击finish,创建完成
3、编写 HelloWorld,并运行
注意当出现报错:不支持发行版本5或者不支持源选项5,请使用6或更高版本时,需要将环境设置为JDK版本,可以去网上搜
4、IDEA导入Maven项目:
1、选择右侧Maven面板,点击 + 号
2、选中对应项目pom.xml文件,双击即可
3、如果右侧没有Maven面板,选择:View ---> Appearance ---> Tool Window Bars
配置Maven - Helper插件
1、选择IDEA中Flie -->Settings
2、选择 Plugins
3、搜索 Maven,选择第一个Maven Helper,点击Install安装,弹出面板中点击Accept
4、重启IDEA
六、依赖管理
使用坐标导入jar包
1、在pom.xml中编写
2、在
3、定义坐标的groupId,artifactId, version(坐标由这三个子标签组成)
4、点击刷新按钮,使坐标生效
参考写法:
<dependencies>
<!-- mysql 坐标 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
</dependencies>
依赖范围
通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
依赖范围的取值与作用表
依赖范围 | 编译classpath | 测试classpath | 运行classpath(war包中看) | 例子 |
---|---|---|---|---|
complie | Y | Y | Y | logback |
test | - | Y | - | Junit |
provided | Y | Y | - | serviet-api |
runtime | - | Y | Y | jdbc-驱动 |
system | Y | Y | - | 存储在本地的jar包 |
import | 引入DependencyManagement |
注:.war可以用解压应用打开,在WEB-INF下的lib目录中可以看到所依赖的jar包,从而查看依赖范围作用是否在运行用有效
标签:依赖,项目,仓库,基础,jar,Maven,坐标 From: https://www.cnblogs.com/fragmentary/p/17054982.html