Maven 下载配置 详解 我的学习笔记

news2024/11/6 11:14:35

Maven 下载配置 详解 我的学习笔记

  • 一、Maven 简介
  • 二、maven安装配置
  • 三、maven基本使用
  • 四、idea配置maven
    • idea配置maven环境
    • maven坐标
    • idea创建maven项目
    • 配置Maven-Helper插件
  • 五、依赖管理


一、Maven 简介

Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
官网:http://maven.apache.org/


功能

Maven是专门用于管理和构建Java项目的工具,它的主要功能

提供了一套标准化的项目结构
提供了一套标准化的构建流程(编译,测试,打包,发布……)
提供了一套依赖管理机制

标准化的项目结构

Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用

在这里插入图片描述


标准化的构建流程

在这里插入图片描述

Maven提供了一套简单的命令来完成项目构建


依赖管理机制**

依赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)

Maven 使用标准的坐标配置来管理各种依赖
只需要简单的配置就可以完成依赖管理

例如

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

作用

  1. 标准化的项目结构
  2. 标准化的构建流程
  3. 方便的依赖管理

Maven 模型

  1. 项目对象模型 (Project Object Model)
  2. 依赖管理模型(Dependency)
  3. 插件(Plugin)

Maven 仓库

  1. 仓库分类:

本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库--------地址:https://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库

  1. 查找依赖对应jar包

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包
如果有,则在项目直接引用,如果没有,则去中央仓库中下载对应的jar包到本地仓库
还可以搭建远程仓库,将来jar包的查找顺序则变为 本地仓库 => 远程仓库 => 中央仓库


二、maven安装配置

下载

maven下载官网: https://maven.apache.org/download.cgi

请添加图片描述

解压zip及完成安装

配置环境变量

高级系统设置=>环境变量=>系统变量=>新建=>配置MAVEN_HOME=>确定=>Path=>新建=>%MAVEN_HOME%\bin

在这里插入图片描述

创建本地仓库
在这里插入图片描述

配置本地仓库

修改 conf/settings.xml 中的 <localRepository> 为一个指定目录

在这里插入图片描述
配置阿里云镜像

修改 conf/settings.xml 中的 <mirrors>标签

在这里插入图片描述


代码如下

	<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/central</url>
	</mirror>
	
    <mirror>
		<id>alimaven</id>
		<mirrorOf>public</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/public</url>
	</mirror>
		
    <mirror>
		<id>alimaven</id>
		<mirrorOf>gradle-plugin</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/gradle-plugin</url>
	</mirror>
		
    <mirror>
		<id>alimaven</id>
		<mirrorOf>apache snapshots</mirrorOf>
		<name>aliyun maven</name>
		<url>https://maven.aliyun.com/repository/apache-snapshots</url>
	</mirror>
	
	<mirrors>
		<mirror>
			<id>central</id>
			<name>Maven Repository Switchboard</name>
			<url>https://repo1.maven.org/maven2/</url>
			<mirrorOf>central</mirrorOf>
		</mirror>
	</mirrors>

maven安装及配置完成

三、maven基本使用

Maven 常用命令

命令名称作用
compile编译
clean清理
test测试
package打包
install安装

快捷命令

在这里插入图片描述


Maven 生命周期

Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven 对项目构建的生命周期划分为3套

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

  1. clean:清理工作
  2. default:核心工作,例如编译,测试,打包,安装等
  3. site:产生报告,发布站点等

default 构建生命周期
在这里插入图片描述


四、idea配置maven

idea配置maven环境

File =>Settings=>Build…

在这里插入图片描述

maven坐标

Maven 中的坐标是资源的唯一标识,使用坐标来定义项目或引入项目中需要的依赖

Maven 坐标主要组成

groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.chq)
artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
version:定义当前项目版本号

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

idea创建maven项目

1. 创建模块,选择Maven

在这里插入图片描述

2. 填写模块名称,坐标信息
在这里插入图片描述

3. 点击finish,创建完成

在这里插入图片描述

配置Maven-Helper插件

File=>Settings=>Plugins=>搜索Maven=>选择Maven Helper=>Install=>重启Idea

在这里插入图片描述
使用
在这里插入图片描述

五、依赖管理

使用坐标导入 jar 包

  1. 在 pom.xml 中编写 <dependencies> 标签
  2. <dependencies> 标签中 使用<dependency>引入坐标
  3. 定义坐标的 groupId artifactId version
  4. 点击刷新按钮,使坐标生效

在这里插入图片描述

依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境
<scope>默认值:compile

在这里插入图片描述

依赖范围编译测试运行例子
compileTTTlogback
testFTFjunit
providedTTFservlet-api
runtimeFTTjdbc
systemTTF储存在本地的jar包

import: 引入DependecyManagement

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

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

相关文章

一文带你了解,全国职业院校技能大赛老年护理与保健赛项如何备赛

老年护理与保健&#xff0c;作为2023年全国职业院校技能大赛的新增赛项&#xff0c;紧密贴合党的二十大精神&#xff0c;致力于加速健康与养老产业的蓬勃发展&#xff0c;并深化医养康养结合的服务模式。此赛项不仅承载着立德树人的教育使命&#xff0c;更通过竞赛的引领作用&a…

STM32ZET6-USART使用

一、原理说明 STM32自带通讯接口 通讯目的 通信方式&#xff1a; 全双工&#xff1a;通信时可以双方同时通信。 半双工&#xff1a;通信时同一时间只能一个设备发送数据&#xff0c;其他设备接收。 单工&#xff1a;只能一个设备发送到另一个设备&#xff0c;例如USART只有…

电话语音机器人,是由哪些功能构成?

电话语音机器人是自动电话销售、筛选意向客户的&#xff0c;只要录入好行业话术&#xff0c;导入要拨打的手机号&#xff0c;机器人就可以上岗工作了。 电话语音机器人组成部分&#xff1a; 1、语音识别器&#xff0c;主要作用&#xff1a;识别客户讲话内容&#xff0c;从而做…

理解 WordPress | 第二篇:结构化分析

WordPress 专题致力于从 0 到 1 搞懂、用熟这种可视化建站工具。 第一阶段主要是理解。 第二阶段开始实践个人博客、企业官网、独立站的建设。 如果感兴趣&#xff0c;点个关注吧&#xff0c;防止迷路。 WordPress 的内容和功能结构可以按照层级来划分&#xff0c;这种层次化的…

vue3项目history模式部署404处理,使用 historyApiFallback 中间件支持单页面应用路由

vue3项目history模式部署404处理&#xff0c;使用 historyApiFallback 中间件支持单页面应用路由 在现代的 web 开发中&#xff0c;单页面应用&#xff08;SPA&#xff09;变得越来越流行。这类应用通常依赖于客户端路由来提供流畅的用户体验&#xff0c;但在服务器端&#xf…

计算机毕业设计Hadoop+PySpark深度学习游戏推荐系统 游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

PHP电商供应链ERP管理系统小程序源码

&#x1f680;电商供应链大揭秘&#xff01;ERP管理系统如何重塑你的商业版图✨ &#x1f50d; 什么是电商供应链ERP管理系统&#xff1f; 电商供应链ERP管理系统是一款基于FastAdminThinkPHP开发的系统。该系统可满足电商企业管理自身进销存&#xff0c;帮助中小型电商企业管…

全参微调与LoRA的区别,及7种LoRA变种方法解析

随着LLM的发展和应用&#xff0c;在LLM的预训练模型基础上做微调&#xff0c;使其适用于自己的业务场景的研究越来越多。与全参数SFT相比LoRA是在冻结LLM本身参数的基础上&#xff0c;在旁路增加两个可学习的矩阵&#xff0c;用于训练和学习&#xff0c;最后推理是LLM输出和可学…

ubuntu工具 -- ubuntu服务器临时没有网络,急需联网下载东西怎么办? 使用手机提供网络

问题 ubuntu服务器配置经常遇到临时需要网络下载文件需求, 通过有线连接又来不及 解决方法 使用手机usb为ubuntu服务器提供网络 先在ubuntu上运行 ifconfig 查看当前的网络接口, 一会看看多了哪个网口 1. 手机端操作 先使用usb数据线将手机连接到服务器上 打开手机的usb共享…

一文快速预览经典深度学习模型(一)——CNN、RNN、LSTM、Transformer、ViT

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本文主要简要并通俗地介绍了几种经典的深度学习模型&#xff0c;如CNN、RNN、LSTM、Transformer、ViT&#xff08;Vision Transformer&#xff09;等&#xff0c;便于大家初探深度学习的相关知识&#xff0c;并更好地理解深度学…

【D3.js in Action 3 精译_038】4.2 D3 折线图的绘制方法及曲线插值处理

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

数据结构(8.7_2)——败者树

多路平衡归并带来的问题 什么是败者树 败者树的构造 败者树的使用 败者树在多路平衡归并中的应用 败者树的实现思路 总结

Web Broker(Web服务应用程序)入门教程(1)

1、介绍 Web Broker 组件&#xff08;位于工具面板的“Internet”选项卡中&#xff09;可以帮助您创建与特定统一资源标识符&#xff08;URI&#xff09;相关联的事件处理程序。当处理完成后&#xff0c;您可以通过编程方式构建 HTML 或 XML 文档&#xff0c;并将它们传输给客…

Redis高级篇之缓存一致性详细教程

文章目录 0 前言1.缓存双写一致性的理解1.1 缓存按照操作来分 2. 数据库和缓存一致性的几种更新策略2.1 可以停机的情况2.2 我们讨论4种更新策略2.3 解决方案 总结 0 前言 缓存一致性问题在工作中绝对没办法回避的问题&#xff0c;比如&#xff1a;在实际开发过程中&#xff0c…

Vue2进阶之Vue3高级用法

Vue3高级用法 响应式Vue2&#xff1a;Object.definePropertyObject.definePropertythis.$set设置响应式 Vue3&#xff1a;Proxy composition APIVue2 option API和Vue3 compositionAPIreactive和shallowReactivereadonly效果toRefs效果 生命周期main.jsindex.htmlLifeCycle.vue…

Unity3D学习FPS游戏(10)子弹攻击敌人掉血(碰撞检测)

前言&#xff1a;前面最然创造出带有血条的敌人&#xff0c;但子弹打中敌人并没有效果。所以本篇将实现子弹攻击敌人&#xff0c;并让敌人掉血。 子弹攻击敌人掉血 整体思路目标补充知识-碰撞检测 准备工作刚体和碰撞器添加添加刚体后子弹代码优化补充知识-标签系统Tag添加 碰…

AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO

问题 折磨的开始是天下苦黄狗久矣&#xff0c;为了不再被讨乞丐的显存恶心&#xff0c;一怒之下购入了AMD显卡&#xff08;20GB显存确实爽 头一天就跑了3dmark验机&#xff0c;完美通过&#xff0c;玩游戏也没毛病 但是呢这厮是一点不省心&#xff0c;玩游戏没问题&#xff0c…

服装品牌零售业态融合中的创新发展:以开源 AI 智能名片 S2B2C 商城小程序为视角

摘要&#xff1a;本文以服装品牌零售业态融合为背景&#xff0c;探讨信息流优化和资金流创新的重要作用&#xff0c;并结合开源 AI 智能名片 S2B2C 商城小程序&#xff0c;分析其如何进一步推动服装品牌在零售领域的发展&#xff0c;提高运营效率和用户体验&#xff0c;实现商业…

【数据库】elasticsearch

1、架构 es会为每个索引创建一定数量的主分片和副本分片。 分片&#xff08;Shard&#xff09;&#xff1a; 将索引数据分割成多个部分&#xff0c;每个部分都是一个独立的索引。 主要目的是实现数据的分布式存储和并行处理&#xff0c;从而提高系统的扩展性和性能。 在创建索…

语言模型的评测

语言模型的评测 内在评测 在内在评测中&#xff0c;测试文本通常由与预训练中所用的文本独立同分布的文本构成&#xff0c;不依赖于具体任务。最为常用的内部评测指标是困惑度&#xff08;Perplexity&#xff09; 困惑度是衡量语言模型对测试文本预测能力的一个指标&#xf…