Maven基础简介

作者简介: zoro-1,目前大二,正在学习Java,数据结构,spring等

作者主页: zoro-1的主页

欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

Maven简介

Maven是什么

Maven是一个项目管理工具,用于构建和管理Java项目。它可以自动下载项目依赖的第三方库,并将它们添加到项目的构建路径中。Maven使用XML格式的配置文件来定义项目的依赖关系、构建过程和发布方式。它通过插件系统提供了丰富的功能,如编译、测试、打包、部署等。Maven还提供了一个标准的项目结构和约定,使得多人协作和持续集成更加方便。

Maven可以为我们做什么

Maven是一个Java项目构建工具,它可以帮助我们自动化构建、测试和部署Java项目。下面是Maven可以为我们做的一些事情:

  1. 依赖管理:Maven可以管理项目的依赖库,并自动下载和导入所需的依赖。它可以解决依赖冲突的问题,确保项目构建所需的所有依赖都可用。

  2. 项目构建:Maven提供了一套规范的项目结构和构建生命周期,可以帮助我们快速搭建和构建Java项目。它可以自动编译代码、运行测试、打包应用程序等。

  3. 测试支持:Maven可以集成各种测试框架,如JUnit、TestNG等,并提供了丰富的插件和配置选项来帮助我们编写和运行测试。

  4. 文档生成:Maven可以生成项目的文档,包括JavaDoc和项目报告。这些文档可以帮助我们了解项目的结构和使用方法。

  5. 项目部署:Maven可以帮助我们自动化部署项目。它可以将项目打包成可执行的文件或部署到服务器上。

Maven管理的项目如何下载依赖

第一种:通过远程仓库下载

Maven内置了一个远程仓库(中央仓库)(全球唯一),(简单来说就是一个资源存储仓库,将所有依赖按照一定的),通过配置pom.xml文件能够自动从这个仓库下载依赖。

第二种:通过本地仓库下载

我们idea只要配置过Maven,创建一个Maven项目,就会存在一个本地仓库,每次下载依赖的顺序是先从本地仓库寻找,如果没有就向远程仓库下载到本地仓库,之后再下载这个依赖就可以从本地仓库中找到,缩减了下载时间。

第三种:通过私服下载(企业常用)

什么情况下会通过私服下载,就是企业中自己研发的依赖,涉及商业机密,不想被别的企业看见,通常会有一个私有服务器专门存储这些依赖,得有账户密码,才能登录进去下载。

如何解决依赖冲突问题

通过maven导入的依赖,不仅会导入依赖本身,还会导入依赖所需要的依赖,,这样就有可能导致导入的依赖已经导进去了,很可能相同的依赖版本还不一样,那这时候我们怎么去处理呢,就要用到了一个插件,将我们所有导进去的依赖进行梳理标识哪些依赖是冲突的然后可以让我们看见然后删除不合适的留下合适的,一般删除低版本的,留下高版本的,因为高版本兼容低版本的功能

下载后就显示了一个Dependency Anaiyzer,他上面三个按钮分别是将冲突依赖显示出来,将依赖用列表显示出来,将依赖用树形结构显示出来,右键依赖点击exclude就可以删除

如何配置Maven项目

点击File->settings->在搜索框搜索maven

Maven home path就是下载的Maven地址

User settings file就是Maven的配置文件

Local repository就是maven的本地仓库地址

点击后面的文件夹,都是可以修改地址,建议放在一个空间比较充裕的盘下,并且需要将路径都设置为英文(防止报错),然后将Maven的配置文件路径复制下来搜索找到文件,然后点开将下面的远程仓库改成阿里云,因为没改之前的远程仓库是国外的,下载速度慢,但是我们国内也有很多企业开源了一些镜像仓库。

java 复制代码
<mirror>
      <id>aliMaven</id>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/nexus/content/groups/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
                        今天的分享到这里就结束了,谢谢大家的支持
相关推荐
cdut_suye1 分钟前
全面剖析 Linux 进程管理与 PCB 机制
java·linux·运维·服务器·c++·人工智能·python
Jing_jing_X6 分钟前
Java HashMap 底层原理
java·哈希算法·散列表
qq_13948428828 分钟前
springboot433-基于SpringBoot的流浪猫爱心救助系统(源码+数据库+纯前后端分离+部署讲解等)
java·数据库·vue.js·spring boot·后端·maven·intellij-idea
程序媛刘刘16 分钟前
uniappx 使用体验
java·服务器·前端
gywl28 分钟前
Spring Boot 日志
java·spring boot·日志·外观模式
Seven971 小时前
【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
java·后端·设计模式
matrixlzp1 小时前
Java 生成图形验证码
java·spring
冰淇淋@1 小时前
HTTP发送POST请求的两种方式
java·spring boot·http
codingPower1 小时前
IDEA接入阿里云百炼中免费的通义千问[2025版]
java·阿里云·intellij-idea
Lois_Luo1 小时前
Android Studio 新版本Gradle发布Jar和Aar包到私有Nexus Maven仓库示例
maven·android studio