Maven概述,搭建,使用
一.Maven概述
Maven是Apache软件基金会的一个开源项目,是一个有优秀的项目构建(创建)工具,它用来帮助开发者管理项目中的jar,以及jar之间的依赖关系,完成项目的编译,测试,打包和发布等工作.
我在当前学习阶段遇到过的jar文件:
MySQL官方提供的JDBC驱动文件,通常命名为mysql-connecttor-java-.....jar,用于连接和操作MySQL数据库.
MyBatis核心库文件mybtis-.....jar,提供了ORM框架的核心功能.
在使用这些jar包时遇到的问题:
随着学习的深入,项目中用到的jar文件越来越多,管理这些jar就很麻烦,我们现在项目中用到的jar包都是从各自的官方去下载,很麻烦
引入Maven
Maven官方把常用的jar包都收集管理起来,每一个在服务器端都存在一个唯一的地址,我们只需要知道jar在maven官方仓库的地址即可,就可以把文件用过的maven下载到我们的项目中.
Maven中的概念
Maven 管理的项目的根目录下都有一个pom.xml文件.
pom.xml文件指示Maven如何工作.
在pom.xml文件中配置项目基本信息以及项目构建信息等.比如:项目坐标,项目依赖的jar,插件,编译选项等.
一旦在pom.xml文件中配置了所依赖的jar,Maven会从构建仓库中下载相应的构件.
在项目中的pom.xml文中配置jar的地址(类似于vuecli项目中的package.json文件中的各种依赖),且可以自动下载.
坐标
groupId、artifactId、packaging、version 的组合被称为项目的坐标,它们形成了 项目的唯一标识,Maven 通过坐标来精确定位构件。其中 groupId,artifactId,version 是必须的,且这三项的值必须唯一,packaging是可选的(默认为 jar).
坐标是jar文件在maven仓库中唯一的地址,由四个部分组成由groupId、artifactId、packaging、version构成.
仓库
仓库是指管理jar文件的仓库
仓库可以分为:maven官方中央仓库(在国外,下载慢,只有一个)
全球各地的中央仓库镜像(在各个国家,下载快,多个)
本地仓库:第一次使用jar时,会从远程仓库下载,存放在自己电脑上,以后使用.
中央仓库全球共享,先将jar从中央仓库下载到本地仓库,然后在项目中引用本地仓库的jar.
下图是仓库之前的关系:
本地仓库中的jar文件可以通过中央仓库或中央仓库镜像两种途径下载
二.Maven开发环境搭建
1.前提
我们需要安装jdk,并在电脑系统高级系统中新建系统变量
注意: 新建的系统变量名一定要为JAVA_HOME,路径为jdk的根目录.
Maven 工作时需要通过网络下载各种插件以完成任务,因此需要保证网络的通畅
2.下载Maven服务器
Maven官网:http://maven.apache.org
在Maven官网下载Maven服务器
3.安装,配置Maven
点击下载二进制的apache-maven-3.8.8-bin.zip进行下载.
在系统环境中配置环境变量,在path中配置到bin目录
注意 : 要选择所安装maven服务器的bin目录
配置成功后在命令行输入命令(该命令有一个空格)mvn -version查看版本如下图
出现此文本,表示maven环境配置成功
配置本地仓库地址
接下来我们根据情况再本地磁盘中建立通过Maven 下载后的文件夹,一般我们称为"仓库(repository)".
在这里我创建的文件是localRepository,作为本地仓库
我们如何将下载的jar文件储存到我们指定的仓库中呢?
需要在Maven的服务器解压的文件中找到conf文件夹下的setting.xml文件进行修改,如下图所示
这里我创建了一个副本文件,以防我们在设置过程中出错
配置1:指定本地仓库地址
修改后:
配置2:配置阿里云Maven 镜像仓库,下载速度更快
<mirror>
<id>aliMaven</id>
<name>aliyun Maven</name>
<url>http://Maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
修改后:
4.在idea中设置Maven
在idea中任意一个项目中设置
点击idea左上角File
5.创建Maven工程
项目目录的结构
三.pom.xml配置
pom.xml文件的基本结构
<?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><!--模型版本4.0--><groupId>org.example</groupId><artifactId>mavenPro</artifactId><!--项目名称--><version>1.0-SNAPSHOT</version><!--编译信息--><properties><!--指定jdk的版本--><maven.compiler.source>8</maven.compiler.source><!--编译时支持的jdk版本为jdk8--><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--支持的编码集--></properties><!--配置项目中依赖的jar的坐标(jar的地址),jar文件地址在maven官网中寻找--><dependencies><!--mysql jar的坐标--><dependency><groupId>mysql</groupId><!--第一级目录--><artifactId>mysql-connector-java</artifactId><!--第二级目录--><!--<type>jar</type> 包类型(文件类型)默认是jar--><version>8.0.16</version><!--第三级目录 版本号--></dependency><!--mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency></dependencies></project>
1.项目基本信息
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mavendemo</artifactId>
<version>1.0-SNAPSHOT</version>
2.指定编译时使用的jdk版本
<properties><!--指定jdk的版本--><maven.compiler.source>8</maven.compiler.source><!--编译时支持的jdk版本为jdk8--><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--支持的编码集--></properties>
3.依赖信息
Maven仓库官网(http://mvnrepository.com/)如下图所示
在此官网就可以下载自己所需开发jar包, 继续点击链接
这里演示下载mysql-jar包
在pom.xml文件的<dependencies></dependencies>标签中粘贴代码
安装多个jar包示例:
点击右侧M按钮,Dependencies目录中显示已下载的jar包
下载的jar包存储在电脑硬盘中的本地仓库文件中
四.Maven命令
- clean 清除之前所编译的内容
- compile 编译(通过maven将java文件编译为class文件)
- package 打包项目(打包为jar)
- test 运行test包下面的内容