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包下面的内容
相关推荐
SimonKing11 分钟前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean18 分钟前
Jackson View Extension Spring Boot Starter
java·后端
Seven971 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55111 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河11 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程14 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅16 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者17 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺17 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端