了解Maven,并配置国内源

目录

1.了解Maven

1.1什么是Maven

1.2快速创建一个Maven项⽬

1.3Maven 核⼼功能

1.3.1项⽬构建

 1.3.2依赖管理

1.4Maven Help插件

2.Maven 仓库

 2.1中央仓库

2.2本地仓库 

3.Maven 设置国内源 

1.查看配置⽂件的地址

2.配置国内源 

3.设置新项⽬的setting


1.了解Maven

1.1什么是Maven

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

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

 pom.xml:

 想了解更多: Maven – Welcome to Apache Maven

1.2快速创建一个Maven项⽬

IDEA本⾝已经集成了Maven, 我们可以直接使⽤, ⽆需安装
(以下截图的idea版本为: 2022.1.4, 不同版本的idea界⾯展⽰会有所不同)
File -> New -> Project
点击 Create, 就创建好了⼀个Maven项⽬

1.3Maven 核⼼功能

Maven的功能有很多,我们就重点介绍最常用的核心功能。

1.3.1项⽬构建
Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式
当我们开发了⼀个项⽬之后, 代码需要经过 编译, 测试, 打包, 发布 等流程, 每次代码的修改, 都需要经过 这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦,, ⽽Maven 给我们提供了 ⼀套简单的命令来完成项⽬的构建.
Maven命令:

⽐如, 点击package, 就可以完成项⽬的打包操作

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

 

 我们打的包在哪呢?

 1.3.2依赖管理

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

上⾯说到, Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包
获取的jar包, 其实就是依赖.
pom.xml 就是maven 的配置⽂件,⽤以描述项⽬的各种信息
如果不 使⽤Maven,我们就需要⼿动下载包.并且添加到项⽬中。
如果使⽤Maven, 我们只需要在pom.xml中引⼊对应的依赖就可以了。
依赖的引入格式:
<dependencies>
<!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</dependencies>

比如我们引入:mysql-connector-java的依赖

1.在pom⽂件 <dependencies> 标签内, 添加依赖坐标
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.30</version>
</dependency>

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

1.

2.

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

 

当然也会引入依赖的依赖 

我们可以在pom⽂件中引入依赖,同理也可以在pom⽂件中排除依赖。

排除依赖: 指主动断开依赖的资源。(被排除的资源⽆需指定版本)

 

1.4Maven Help插件

当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先 找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系。
如何安装呢?
大概步骤:
安装插件: File -> Settings ->Plugins -> 搜索'Maven Help' -> 找到对应插件, 点击Install 安装即可, 安装 后需要重启下idea, 才能⽣效

详细操作如下:

1.

 

2. 

3.

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

 也可以右键排除掉⼀些依赖


2.Maven 仓库

问题引入:我们通过短短⼏⾏代码, 就把依赖jar包放在了项⽬⾥, 具体是如何做的呢?

还是以mysql-connector-java的依赖为例

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

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

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

Maven仓库的本质就是⼀个⽬录(⽂件夹),这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等)

 2.1中央仓库

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

 

界面  

 

 仓库地址:Central Repository: (maven.org)icon-default.png?t=N7T8https://repo1.maven.org/maven2/

但直接在用仓库地址去找可能不好找。

可以通过 这个⽹站来查询并下载 Maven – Welcome to Apache Mavenicon-default.png?t=N7T8https://maven.apache.org/index.html

进入界面 

 查找Jar的坐标的步骤:

1.进⾏查找, ⽐如mysql

 

2.选择要添加的Jar包版本

 

3.查看Jar包对应坐标

2.2本地仓库 

本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)
本地仓库地址可以通过Maven配置查看:
File -> Settings

3.Maven 设置国内源 

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

1.查看配置⽂件的地址

 ​​​​​​我的已经是配置过了的

最开始的配置⽂件的地址都设置类似于下图的路径下:

 如有必要可以把整个.m文件复制到你选择的路径底下。

以我为例:

2.配置国内源 

Maven 仓库默认在国外 ,国内使⽤时会⽐较慢,我们可以更换为阿⾥云 的仓库
也可以选择别的仓库可参考: Maven 镜像地址大全 - 知乎 (zhihu.com)icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/627320558

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

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

 如上如果是在File -> Settings下完成,只对当前项目有效。

3.设置新项⽬的setting

 为了让后续新建的项⽬也⽣效, 需要重新设置⼀下新项⽬的 Settings

当前项⽬和新项⽬共⽤⼀个setttings⽂件即可, 所以新项⽬的设置, 只需要确认⼀下settings⽂件的路 径即可

 


 

以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

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

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

相关文章

Ubuntu22.04之安装星火应用商店《兼容windows应用》(二百三十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试6月2日预测第9弹

今天继续基于8883的大底进行测试&#xff0c;今天继续测试&#xff0c;好了&#xff0c;直接上结果吧~ 首先&#xff0c;888定位如下&#xff1a; 百位&#xff1a;5,4,7,3,2,9,1,0 十位&#xff1a;4,6,5,7,2,9,1,0 个位&#xff1a;3,4,2,5,…

BIT 2024 编译原理 Lab. 4 四代编译器实验说明和要求

实验四&#xff1a;四代编译器实验 一、实验要求 详细实验要求请参考文件《Lab4实验说明和要求.pdf》。 二、实验思路 1、与 lab3 的对比 如果你在 lab3 就已经像我一样单独写了个函数处理表达式&#xff0c;那么理论上&#xff0c;lab4 相比于 lab3&#xff0c;不过就是多…

Ubuntu server 24 (Linux) IPtables 双网卡 共享上网NAT 安装配置DHCP

一 开启路由转发功能 sudo vim /etc/sysctl.conf net.ipv4.ip_forward1 sudo sysctl -p 二 安装DHCP #更新软件包列表&#xff1a; sudo apt update #安装DHCP服务器 sudo apt install isc-dhcp-server #修改监听网卡,根据实际修改 sudo vi /etc/default/isc-dhcp-server …

HTML+CSS 文本动画卡片

效果演示 实现了一个图片叠加文本动画效果的卡片&#xff08;Card&#xff09;布局。当鼠标悬停在卡片上时&#xff0c;卡片上的图片会变为半透明&#xff0c;同时显示隐藏在图片上的文本内容&#xff0c;并且文本内容有一个从左到右的渐显动画效果&#xff0c;伴随着一个白色渐…

15、matlab绘图汇总(图例、标题、坐标轴、线条格式、颜色和散点格式设置)

1、plot()函数默认格式画图 代码&#xff1a; x0:0.1:20;%绘图默认格式 ysin(x); plot(x,y) 2、X轴和Y轴显示范围/axis()函数 代码&#xff1a; x0:0.1:20;%绘图默认格式 ysin(x); plot(x,y) axis([0 21 -1.1 1.1])%设置范围 3、网格显示/grid on函数 代码&#xff1a; …

c++ 继承多态详解

第一节&#xff1a;继承&#xff1a; 1&#xff0c;相关概念 父类&#xff0c;基类。子类&#xff0c;派生类 &#xff08;1&#xff09;基类的私有成员&#xff0c;派生类不可访问 &#xff08;2&#xff09;基类中被保护的成员再子类中可以被访问&#xff0c;但是在类外不可…

计算机毕业设计Hadoop+Spark+Hive知识图谱租房推荐系统 租房数据分析 租房爬虫 租房可视化 租房大数据 大数据毕业设计 大数据毕设 机器学习

毕 业 设 计&#xff08;论 文&#xff09; 基于大数据的租房数据爬虫与推荐分析系统 姓 名 学 院 专 业 班 级 指导教师 摘 要 本设计是一个基于爬虫技术的房地产数据采集与可视化分析应用程序。该程序首先通过爬虫采集网上所有房地产的房源数据…

华为坤灵交换机S300, S500, S210,S220, S200, S310 如何WEB抓包

通过S系列交换机配置端口镜像实现抓包 1、应用场景 端口镜像是指将经过指定端口(源端口或者镜像端口)的报文复制一份到另一个指定端口(目的端口或者观察端口)。在网络运营与维护的过程中&#xff0c;为了便于业务监测和故障定位&#xff0c;网络管理员时常要获取设备上的业务报…

数据分析常用模型合集(二)RARRA模型、RFM模型

随着互联网的发展&#xff0c;前期平台的砸钱拉新、抢占市场&#xff0c;大家都叫AARRR小甜甜&#xff1b; 现在市场基本抢占得差不多&#xff0c;形成了一个平衡&#xff0c;新人基本拉不到多少&#xff0c;用户都知道干什么事有哪些平台&#xff0c;比如买东西主流淘宝、京东…

kotlin1.8.10问题导致gson报错TypeToken type argument must not contain a type variable

书接上回&#xff0c;https://blog.csdn.net/jzlhll123/article/details/139302991。 之前我发现gson报错后&#xff1a; gson在2.11.0给我的kotlin项目代码报错了。 IllegalArgumentException: TypeToken type argument must not contain a type variable 上次解释原因是因为&…

金钱的认知,你如何理解呢?

金钱的认知 建立在金钱之上的爱情是纯真的爱&#xff0c;朋友关系也才够纯粹&#xff0c;才是单纯的世界&#xff0c;反之没了钱的条件爱情和友情的美好关系极易破碎&#xff0c;也极易反目成仇。 心若美好钱就美好&#xff0c;心有欲望狰狞钱就是只咬人的老虎&#xff0c;钱…

量子加速超级计算简介

本文转载自&#xff1a;量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块&#xff1a;QPU 和量子位三、量子计算硬件和算法四、…

3DMAX建筑生长动画插件PolyFX安装使用方法

3DMAX建筑生长动画插件PolyFX安装使用教程 PolyFX插件是一个功能强大的工具&#xff0c;它可以将对象分解为片段并根据需要设置动画。它有许多用于微调动画的选项和一些附加工具。这是制作宣传视频、游戏开发等的绝佳解决方案。 【版本要求】 3ds max 2010-2025&#xff08;不…

探究MySQL中的“树”结构

1 引言 树高千丈,叶落求索 – 唐代杜牧 树结构在MySQL中常用于表示层次关系,如组织结构或分类体系。引入树结构可使数据之间建立父子关系,便于查询和管理。益处包括快速检索子节点、方便展示层次关系、支持递归查询等。 2 基础概念 2.1 名词解析 程序就像是一张有向图,你…

Pipecat: 创建语音对话agent的开源框架,支持多模态!

项目简介 pipecat 是用于构建语音&#xff08;和多模态&#xff09;对话代理的框架。诸如私人教练、会议助理、儿童讲故事玩具、客户支持机器人、摄入流程和尖刻的社交伙伴。 看看一些示例应用&#xff1a; 语音代理入门 您可以开始在本地计算机上运行 Pipecat&#xff0c;然…

ES6-03-模版字符串、对象的简化写法

一、模版字符串 1-1、声明 反引号。 1-2、特性 1、字符串内容可以直接换行 得用号连接 2、变量拼接 现在&#xff1a; 二、对象的简化写法 ES6允许在大括号里面&#xff0c;直接写入变量和函数&#xff0c;作为对象的属性和方法。 let name milk;let chage function(){con…

【pip安装】YOLOv8目标检测初步上手

说明&#xff1a;本篇blog是关于Ultralytics官方教程的学习笔记&#xff0c;环境为windowsconda 1、下载安装YOLOv8 1.1 YOLOv8介绍 Ultralytics YOLOv8 是一个尖端的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它建立在以前 YOLO 版本的成功基础之上&#xff0…

使用System-Verilog实现FPGA基于DE2-115开发板驱动HC_SR04超声波测距模块|集成蜂鸣器,led和vga提示功能

文章目录 前言一、实验原理1.1 传感器概述&#xff1a;1.2 传感器引脚1.3 传感器工作原理1.4 整体测距原理及编写思路 二、System-Verilog文件2.1 时钟分频&#xff08;1&#xff09;clk_div.sv2.2 超声波测距&#xff08;1&#xff09;hc_sr_trig.sv&#xff08;2&#xff09;…

简单聊聊分布式系统和微服务

分布式系统是由多个独立的计算机节点通过网络相互连接协作&#xff0c;共同完成一项或多项任务的系统。这些节点可以是服务器、个人电脑、移动设备等&#xff0c;它们之间通过消息传递或共享数据来协调工作&#xff0c;每个节点负责系统整体功能的一部分。分布式系统的关键在于…