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文件中的各种依赖),且可以自动下载.

坐标

Maven 给每个jar定义了唯一的标志,这个在Maven 中叫做项目的坐标,通过这个
坐标可以找到你需要 用到的任何版本的jar包.

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 镜像仓库,下载速度更快
XML 复制代码
<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 复制代码
<?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.项目基本信息

XML 复制代码
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mavendemo</artifactId>
<version>1.0-SNAPSHOT</version>

2.指定编译时使用的jdk版本

XML 复制代码
<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命令

  1. clean 清除之前所编译的内容
  2. compile 编译(通过maven将java文件编译为class文件)
  3. package 打包项目(打包为jar)
  4. test 运行test包下面的内容
相关推荐
zhangkaixuan4561 小时前
Apache Paimon 查询全流程深度分析
java·apache·paimon
cici158742 小时前
MyBatis注解的运用于条件搜索实践
java·tomcat·mybatis
wangqiaowq2 小时前
StarRocks安装部署测试
java·开发语言
计算机学姐2 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
工业甲酰苯胺6 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫6 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@6 小时前
【JAVA】LinkedList与链表
java·python·链表
LilySesy6 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
六件套是我6 小时前
redission实现延时队列
android·java·servlet
王元_SmallA7 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端