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

在这里插入图片描述

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能|机器学习——Canopy聚类算法(密度聚类)

1.简介 Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值T1 > T2 处理。 Canopy聚类很少单独使用&#xff0c; 一般是作为k-means前不知道要指定k为何值的时候&#…

Java的Writer类详解

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

【xv6操作系统】Lec06 Isolation system call entry/exit

6.1 Trap机制 每当 1.程序执行系统调用 2.程序出现了类似page fault、运算时除以0的错误 3.一个设备触发了中断使得当前程序运行需要响应内核设备驱动 都会发生用户空间和内核空间的切换&#xff0c;通常被称为trap。trap机制要尽可能的简单。 Shell可能会执行系统调用&a…

多种方法解决Error: could not open `C:Program FilesJavajre1.8.0_311libamd64jvm.cfg‘

文章目录 1. 复现错误2. 分析错误3. 解决错误4. 补充说明1. 复现错误 今天春节后开工第一天,打开我的IDEA,却报出如下错误: 报错信息是找不到JRE,于是,通过Windows Powershell输入Java -version,如下图所示: 即Error: could not open C:\Program Files\Java\jre1.8.0_31…

外包干了5天,技术退步明显。。。。。

在湖南的一个安静角落&#xff0c;我&#xff0c;一个普通的大专生&#xff0c;开始了我的软件测试之旅。四年的外包生涯&#xff0c;让我在舒适区里逐渐失去了锐气&#xff0c;技术停滞不前&#xff0c;仿佛被时间遗忘。然而&#xff0c;生活的转机总是在不经意间降临。 与女…

7. 镜面网格

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

JavaScript极速入门-综合案例(3)

综合案例 猜数字 预期效果 代码实现 <button type"button" id"reset">重新开始一局游戏</button><br>请输入要猜的数字:<input type"text" id"number"><button type"button" id"button&q…

Swift SwiftUI 学习笔记 2024

Swift SwiftUI 学习笔记 2024 一、资源 视频资源 StanfordUnivercity 公开课 2023: https://cs193p.sites.stanford.edu/2023 教程 Swift 初识&#xff1a;基础语法&#xff1a;https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/…

Spring Boot搭建入门

Spring Boot简介 Spring Boot是对Spring进行的高度封装&#xff0c;是对Spring应用开发的高度简化版&#xff0c;是Spring技术栈的综合整合&#xff0c;是J2EE的一站式解决方案。想要精通Spring Boot的前提是需要熟悉Spring整套技术栈原理与内容。 Spring Boot的优点&#xf…

图机器学习(3)-面向节点的人工特征工程

0 问题引入 地铁导航图 计算机是看不懂这些图&#xff0c;计算机只能看懂向量、矩阵。 传统图机器学习只讨论连接特征。 构造一个新的特征 x 1 x 2 x_1x_2 x1​x2​&#xff0c;有利于分开这种数据。 人需要去翻译这些计算机不懂的特征&#xff0c;变成计算机可以懂…

深入理解Java的Writer类

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

Visual Studio 2022 Version 17.9 新功能

Visual Studio 2022 v17.9 为广大 C 开发者引入了一系列好用的新功能和改进优化。 内存布局 现在&#xff0c;你可以使用【内存布局&#xff0c;Memory Layout】功能以可视化的方式来查看对象&#xff0c;结构体及联合体的内存布局信息&#xff0c;这可比以前需要手动查看内存…

RoaringBitmap 源码

当调用add方法时&#xff0c;先把x分成高16位和低16位。 ">>> "是 Java 中的无符号右移操作符&#xff0c;表示将 x 的二进制表示向右移动 16 位 当x为 65535 &#xff0c;二进制为1111111111111111&#xff0c;16个1&#xff0c;即丢掉右16位&#xff0c;左…

基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、目标分割

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so

1.需求 最近linux下的Qt项目中要连接oracle数据库&#xff0c;用户需要我们访问他们的oracle数据库&#xff0c;查询数据 2.遇到的问题 qt连接oracle数据库需要oracle的驱动库libqsqloci.so插件&#xff0c;需要编译下&#xff0c;之前没有编译过&#xff0c;看了网上的…

网络原理与网络的基本概念,TCP/IP协议

一、什么是网络 当我们谈论网络时&#xff0c;我们指的是将多个计算设备连接在一起&#xff0c;使它们能够相互通信和共享资源的系统。网络可以是物理上的连接&#xff0c;例如使用电缆或光纤&#xff0c;也可以是逻辑上的连接&#xff0c;例如通过无线信号或互联网连接。 在…

Day 8.TCP包头和HTTP

TCP包头 1.序号&#xff1a;发送端发送数据包的编号 2.确认号&#xff1a;已经确认接收到的数据的编号&#xff08;只有当ACK为1时、确认号才有用&#xff09;&#xff1b; TCP为什么安全可靠 1.在通信前建立三次握手 SYP SYPACK ACK 2.在通信过程中通过序列号和确认号和…

Django会话

一、Cookie介绍 1.1、背景介绍 HTTP协议有一个特性就是无状态的,是指协议对于交互性场景没有记忆能力 随着动态交互的web应用的出现,HTTP的无状态特性严重阻碍了动态交互应用程序的发展,例如一些购物网站在进行购物时候都会进行了页面跳转/刷新,按照HTTP的无状态协议岂不…

《JAVA与模式》之策略模式

系列文章目录 文章目录 系列文章目录前言一、策略模式的结构二、使用场景三、认识策略模式四、策略模式的优点五、策略模式的缺点前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享…

【LeetCode 算法专题突破】---二分查找(⭐⭐⭐)

前言 我在算法题目的海洋中畅游已久&#xff0c;也曾在算法竞赛中荣获佳绩。然而&#xff0c;我发现自己对于算法的学习&#xff0c;还缺乏一个系统性的总结和归类。尽管我已经涉猎过不少算法类型&#xff0c;但心中仍旧觉得有所欠缺&#xff0c;未能形成完整的算法体系。 因…