【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Maven插件安装,Maven项目构建,依赖管理,Haven Help插件,Maven仓库,Maven如何设置国内源

  image.gif 编辑

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

引入:

一:Maven插件的安装

1:环境准备

2:创建项目

二:Maven的核心功能

1:项目构建

2:依赖管理

(1)依赖配置

(2)添加依赖坐标

(3)依赖传递

(4)依赖排除

(5)依赖调解

三:Haven Help插件

1:插件下载

2:查看插件依赖关系

3:排除依赖

四:Maven仓库

1:仓库

(1)本地仓库

(2)中央仓库

2:Maven获取资源优先级

五:Maven文件设置国内源

1:配置当前项目setting

2:配置国内源

3:设置新项目的setting


引入:

Apache(谐音阿帕奇)——非常大的一个开源社区(很多项目为捐赠)

本篇文章学习的Maven 就是Apache旗下的一个项目

Maven是一个项目管理工具,基于POM(Project Object Model,项⽬对象模型)的概念,Maven可以通过⼀⼩段描述信息来管理项⽬的构建,报告和⽂档的项⽬管理⼯具软件。

一:Maven插件的安装

1:环境准备

⾃检Idea版本:

社区版: 2021.1 -2022.1.4

专业版: ⽆要求

如果个⼈电脑安装的idea不在这个范围, 需要卸载重新安装

2:创建项目

image.gif 编辑

image.gif 编辑

二:Maven的核心功能

1:项目构建

Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式

当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦,, ⽽Maven 给我们提供了 ⼀套简单的命令来完成项⽬的构建.

image.gif 编辑

打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包

jar包和war包都是⼀种压缩⽂件,jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执

2:依赖管理

上⾯说到, Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包

获取的jar包, 其实就是依赖

(1)依赖配置

指当前项⽬运⾏所需要的jar包.

⽐如前⾯学习JDBC时, 我们需要⼿动下载mysql-connector-java的包.并且添加到项⽬中

image.gif 编辑

(2)添加依赖坐标

如果使⽤Maven, 我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了

<dependencies>
        <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.3.0</version>
        </dependency>
    </dependencies>

image.gif

点击刷新按钮, 引⼊新加⼊的依赖jar包

image.gif 编辑

刷新完之后, 就可以在项⽬中看到新加⼊的jar包

image.gif 编辑

(3)依赖传递

早期我们没有使⽤maven时, 向项⽬中添加依赖的jar包,需要把所有的jar包都复制到项⽬⼯程下.

⽐如 A 依赖B, B依赖C, 那么 A项⽬引⼊B 的同时, 也需要引⼊C, 如果我们⼿动管理这个依赖, 这个过程 就会⽐较⿇烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间的版本是如何关联的

但使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以 了, 由于maven的依赖具有传递性,所以会⾃动把所依赖的其他jar包也⼀起导⼊

image.gif 编辑

如上图, 项⽬A 通过Maven 引⼊ Jar A 时, 会⾃动引⼊ Jar B 和Jar C.

Jar A 和项⽬B就是项⽬A的直接依赖.

Jar B, Jar C是间接依赖

(4)依赖排除

当前阶段我们需要依赖的库并不多, 但随着项⽬的越来越复杂, 库之间的依赖关系也会变得越来越复杂.

如上图中, 如果项⽬A不需要Jar B,也可以通过排除依赖的⽅式来实现

<dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.3.0</version>
                <!--排除依赖-->
                <exclusions>
                    <exclusion>
                        <artifactId>spring-jcl</artifactId>
                        <groupId>org.springframework</groupId>
                    </exclusion>
                </exclusions>
        </dependency>

image.gif

(5)依赖调解

当项⽬中的依赖存在依赖冲突时, 例如 存在这样的依赖:

A->B->C->X(1.0)

A->D->X(2.0)

Maven会采⽤最短路径优先的原则去选择依赖,这⾥2的依赖路径更短,所以会选择X(2.0), 当然我们

也可以选择指定某个依赖的版本

当然也可以指定X的版本

三:Haven Help插件

当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先

找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系

1:插件下载

image.gif 编辑

2:查看插件依赖关系

打开pom⽂件, 可以看到Jar包之间的依赖关系

image.gif 编辑

image.gif 编辑

3:排除依赖

image.gif 编辑

四:Maven仓库

<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.30</version>
</dependency>

image.gif

我们通过短短⼏⾏代码, 就把依赖jar包放在了项⽬⾥,

这个代码, 我们称之为 "坐标", 也就是唯⼀的.

在Maven中, 根据 groupId、artifactId、version 的配置, 来唯⼀识别⼀个 jar 包, 缺⼀不可.

当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他 下载下来, 添加到项⽬中. 这个Jar包下载的地⽅就称为仓库

1:仓库

⽤于存储资源,管理各种jar包,本质就是⼀个⽬录(⽂件夹),这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等)

(1)本地仓库

本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)

当项⽬中引⼊对应依赖jar包后,⾸先会查找本地仓库中是否有对应的jar包

如果有,则在项⽬直接引⽤

如果没有,则去中央仓库中下载对应的jar包到本地仓库

本地仓库地址可以通过Maven配置查看:

File -> Settings

本地仓库路径

image.gif 编辑

(2)中央仓库

maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹. 由 Maven 团队

维护,全球唯⼀

我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包

仓库地址:

Maven Repository: Search/Browse/Explore

image.gif 编辑

也可以通过这个网站来查询下载

Maven Repository: Search/Browse/Explore

image.gif 编辑

image.gif 编辑

2:Maven获取资源优先级

先从本地仓库获取, 本地仓库存在, 则直接返回

如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回

如果私服上不存在该资源,则从中央仓库下载, 中央仓库不存在, 就报错了...

如果中央仓库中存在, 就先缓存在私服上之后,再缓存到本地仓库⾥, 再为Maven的下载请求提供服务

image.gif 编辑

五:Maven文件设置国内源

因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源

接下来介绍, 如何设置国内源

1:配置当前项目setting

image.gif 编辑

image.gif 编辑

2:配置国内源

Maven 仓库默认在国外https://mvnrepository.com/, 国内使⽤时会⽐较慢,我们可以更换为阿⾥云 的仓库

也可以选择别的仓库, 参考:Maven 镜像地址大全 - 知乎

打开settings.xml, 在 mirrors 节点上,添加内容如下:

<mirror>
 <id>aliyunmaven</id>
 <mirrorOf>central</mirrorOf>
 <name>阿⾥云公共仓库</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>

image.gif

3:设置新项目的setting

新项目的setting也要修改

image.gif 编辑

image.gif 编辑


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
XML Java 项目管理
Maven的配置亲测有效
Maven的配置亲测有效
207 4
|
7月前
|
存储 IDE Java
Maven的简介与安装
Maven的简介与安装
81 0
|
Java 应用服务中间件 Maven
Maven简介及配置使用
Maven简介及配置使用
610 0
|
4月前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
7月前
|
存储 Java Apache
【maven】maven下载、安装与配置详细教程
【maven】maven下载、安装与配置详细教程
444 1
|
7月前
|
缓存 Java 关系型数据库
【超全详解】Maven工程配置与常见问题解决指南
检查Maven配置包括验证路径、设置pom.xml与Project Structure的Java版本。基本操作有`clean-compile`、`install`和`package`,其中`install`会将jar包放入本地仓库。获取他人工程后需修改配置、清除缓存、更新依赖等。配置文件应从Maven Repository找寻,选择稳定高版本。创建Maven工程可选archetype如`quickstart`或直接创建Java工程。基本目录结构遵循分层设计原则,常见问题包括假性导包、端口占用、时区问题等,对应解决方案包括删除本地仓库文件、调整系统设置或重新加载项目。
1219 6
【超全详解】Maven工程配置与常见问题解决指南
|
Java 数据管理 Maven
maven的简介及配置使用
maven的简介及配置使用
138 0
|
Java 应用服务中间件 Maven
如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】(下)
如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】(下)
如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】(下)
|
存储 缓存 Java
Maven超详细简介以及安装教程(包含配置教程)
Maven超详细简介以及安装教程(包含配置教程)
767 0
|
存储 Java 应用服务中间件
如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】(上)
如何在本地搭建Maven环境并整合进IDEA中以及创建web工程?【2023最新版】(上)

热门文章

最新文章