Maven基础简介

news2024/11/16 9:40:05

在这里插入图片描述

作者简介: 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的配置文件路径复制下来搜索找到文件,然后点开将下面的远程仓库改成阿里云,因为没改之前的远程仓库是国外的,下载速度慢,但是我们国内也有很多企业开源了一些镜像仓库。

在这里插入图片描述

<mirror>
      <id>aliMaven</id>
      <name>aliyun maven</name>
      <url>https://maven.aliyun.com/nexus/content/groups/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
                        今天的分享到这里就结束了,谢谢大家的支持

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1502308.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day12_SpringCloud(Gateway,Nacos配置中心,Sentinel组件)

文章目录 1 Gateway组件1.1 Gateway简介1.2 Gateway入门1.3 网关路由流程图1.4 路由工厂1.5 过滤器1.5.1 过滤器简介1.5.2 内置过滤器1.5.3 路由过滤器1.5.4 默认过滤器1.5.5 全局过滤器1.5.6 过滤器执行顺序 2 Nacos配置中心2.1 统一配置管理2.2 Nacos入门2.2.1 Nacos中添加配…

有趣的数学 博弈论初探

1、简述 博弈论是数学的一个分支&#xff0c;专注于分析此类博弈。博弈论可以分为两个主要分支学科&#xff1a;经典博弈论和组合博弈论。经典博弈论研究玩家同时移动、下注或制定策略的游戏。 从数学意义上讲&#xff0c;游戏是指玩家根据定义的规则做出理性决策&#xff0c;试…

js小案例-省市级联

运行效果&#xff1a; 代码演示&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>省市级联</title><style type"text/css">.regist_bg {width: 100%;height: 600px;padding-top: 40px…

四元数(Quaternion)的一些性质

四元数(Quaternion)是用于三维旋转和定向的四部分组成的超复数&#xff0c;超复数简单理解就是比abi这样的复数更复杂的复数&#xff0c;其中abi这样的复数我们也可以叫做二元数&#xff0c;表示复平面的一点&#xff0c;对于熟悉欧拉公式的朋友就知道&#xff0c;也可以看成是…

请编程输出无向无权图各个顶点的度 ← 邻接矩阵存图

【题目描述】 请编程输出无向无权图各个顶点的度。【测试样例示意图】【算法代码】 #include <bits/stdc.h> using namespace std; const int maxn100; int mp[maxn][maxn]; //无向无权图的邻接矩阵 int V,E; //顶点数、边数 int sx,ex; //起点编号、终点编号int main()…

通过Electron打包前端项目为exe

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;爱蹦跶的大A阿 &#x1f525;当前正在更新专栏&#xff1a;《JavaScript保姆级教程》、《VUE》、《Krpano》 ✨ 正文 1、 拉取electron官网上的demo&#xff0c;拉下来之后安装依赖&#xff0c;项目跑起来之后&#xff0c;就…

Python并发编程:非阻塞IO

非阻塞IO&#xff08;non-blocking IO&#xff09; Linux下&#xff0c;可以通过设置socket使其变为non-blocking&#xff0c;当对一个non-blocking socket执行读操作时&#xff0c;流程是这个样子 从图中可以看出&#xff0c;当用户进程发出read操作时&#xff0c;如果kernel…

2024超声波清洗机测评推荐、希亦、苏泊尔、德国综合对比哪个牌子好

清洁眼镜的重要性不言而喻&#xff0c;干净的眼镜不仅可以提供清晰的视野&#xff0c;还可以保护眼睛免受有害物质的侵害。并且现在有非常多的盆骨都是离不开眼镜的&#xff0c;像近视的朋友需要经常佩戴眼镜来配合自己看远处实现&#xff0c;经常爬山的朋友需要墨镜来协助我们…

基于SpringBoot+Vue+ElementUI+Mybatis前后端分离管理系统超详细教程(五)——多条件搜索并分页展示

前后端数据交互 书接上文&#xff0c;我们上节课通过前后端数据交互实现了分页查询和单条件搜索分页查询的功能&#xff0c;最后留了个小尾巴&#xff0c;就是把其他两个搜索条件&#xff08;email,address&#xff09;也加进来&#xff0c;实现多条件搜索并分页展示。这节课我…

OWASP Top 10 网络安全10大漏洞——A03:2021-注入

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化&#xff0c;以及一些合并。 A03:2021-注入 Injection从第一的位置滑落至第三位置。94% 的应用程序针对某种形式的注入进行了测试&#xff0c;最大发生率为 19%&#xff0c;平均发生率为 3%&a…

Mint_21.3 drawing-area和goocanvas的FB笔记(五)

FreeBASIC SDL图形功能 SDL - Simple DirectMedia Layer 是完整的跨平台系统&#xff0c;有自己的窗口、直接捕获键盘、鼠标和游戏操纵杆的事件&#xff0c;直接操作音频和CDROM&#xff0c;在其surface上可使用gfx, openGL和direct3D绘图。Window3.0时代&#xff0c;各种应用…

11.Node.js入门

一.什么是 Node.js Node.js 是一个独立的 JavaScript 运行环境&#xff0c;能独立执行 JS 代码&#xff0c;因为这个特点&#xff0c;它可以用来编写服务器后端的应用程序 Node.js 作用除了编写后端应用程序&#xff0c;也可以对前端代码进行压缩&#xff0c;转译&#xff0c;…

win11中微软商店如何使用微信支付?microsoft store支付教程

Microsoft Store是由微软公司提供的一个数字分发平台&#xff0c;用于购买和下载Windows操作系统及其相关应用、游戏、音乐、电影、电视节目和其他数字内容。该平台最初是作为Windows 8的一部分引入的&#xff0c;后来也适用于Windows 10和其他Microsoft平台。 以下是Microsof…

ROS——用VirtualBox虚拟一台计算机

打开软件后会出现这个界面&#xff0c;点击新建 然后出现这个界面 名称可以自己任取 &#xff0c;点击文件夹后边的箭头会出现这个界面&#xff0c;点其他可以自己选择虚拟机位置&#xff0c;默认C盘 版本和类型因为我们需要的是 Ubuntu&#xff0c;所以类型选择Linux&#xf…

Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向

Neo4j安装教程&#x1f680; 目前在学习知识图谱的相关内容&#xff0c;在图数据库中最有名的就是Neo4j,为了降低入门难度&#xff0c;不被网上很多华丽呼哨的Cypher命令吓退&#xff0c;故分享出该文档&#xff0c;为自己手动总结&#xff0c;包括安装环境&#xff0c;增删改查…

LeetCode146题:LRU缓存(python3)

代码思路&#xff1a; Python 默认是用 dict 存储属性的&#xff0c;每次用 . 访问属性都需要查字典。如果声明 slots 就不会创建字典&#xff0c;而是改用指针偏移量直接拿到属性对象。所以即节省了内存&#xff08;没有字典&#xff09;又节省了时间&#xff08;省去查字典的…

k8s-生产级的k8s高可用(1) 24

高可用集群 实验至少需要三个master&#xff08;控制节点&#xff09;&#xff0c;一个可以使外部可以访问到master的load balancer&#xff08;负载均衡&#xff09;以及一个或多个外部节点worker&#xff08;也要部署高可用&#xff09;。 再克隆三台主机 清理并重启 配置两…

Vue 项目性能优化指南:提升应用速度与效率

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Pinctrl子系统_04_Pinctrl子系统主要数据结构

引言 本节说明Pinctrl子系统中主要的数据结构&#xff0c;对这些数据结构有所了解&#xff0c;也就是对Pinctrl子系统有所了解了。 前面说过&#xff0c;要使用Pinctrl子系统&#xff0c;就需要去配置设备树。 以内核面向对象的思想&#xff0c;设备树可以分为两部分&#x…

7. 镜面网格

E . 镜面网格 E.镜面网格 E.镜面网格 每次测试时限&#xff1a; 2 秒 每次测试时限&#xff1a;2 秒 每次测试时限&#xff1a;2秒 每次测试的内存限制&#xff1a; 256 兆字节 每次测试的内存限制&#xff1a;256 兆字节 每次测试的内存限制&#xff1a;256兆字节 题目描述 给…