当前位置: 首页 > news >正文

了解Maven

一.环境搭建

如果使用的是社区版 版本要求为:2021.1-2022.1.4

如果使用的是idea专业版就无需版本要求,专业版下载私信我,免费教你下载

二,Maven

什么是Maven,也就是一个项目管理工具,用来基于pom的概念,就不需要自己手动添加jar包了,让你更加简便创建项目。

我使用的是idea专业版,接下来的操作是在专业版下操作的:

2.1创建一个Maven

File->New->Project

点击Create,就创建好了

这个就是pom里面会配置好jar包,你就不需要管了

Maven核心功能主要在两方面体现:项目构建和管理依赖

2.2项目构建

当我们开发了一个项目,代码就需要进行编译,测试,打包,发布的流程,这些需要反复进行,就很麻烦,Maven提供了很多简单的命令来进行这一系列操作。

点开最右边的Maven,就可以看到这些Maven方法,比如package就是打包操作,一点击就可以自动完成打包工作了。也就是把所有的class文件,打成jar包或者war包。

2.3依赖管理

依赖也就是当前项目运行所需的jar包

所谓依赖管理也就是引入依赖,但在Maven中很简单,就只需要在pom.xml中输入就可以引入jar包。

只需要这样一输入然后点击Maven左上角的刷新按钮就可以引入jar包了。

三,Maven Help插件

当项目比较复杂的时候,就容易产生jar包之间的冲突,我们就可以使用插件来观察jar包之间的关系。

安装插件:File->Settings->Plugins->搜索 ‘Maven Help’->找到对应插件,点击Install安装就行,要重启才能生效别忘了。

 安装好了之后下面会出现一个Dependency Analyzer按钮,里面就可以看见依赖之间的关系

四,Maven仓库

仓库:用存储各种资源,管理jar包

也就在上面,我们配置的pom文件里,会有一个坐标,Maven会根据坐标的配置,去仓库里面寻找jar包,并下载下来,jar包下载的地方,就是仓库

Maven仓库的本质就是一个巨大的文件夹,用来存储开发中的所有依赖,jar包什么的。

4.1仓库分类

Maven仓库分为两大类:本地仓库和远程仓库 

远程仓库:中央仓库,私服和其他仓库

4.1.1本地仓库

本地仓库的地址可以通过Maven来查看:

这里就是本地仓库的地址,我已经修改了,点右边那个文件夹把本地仓库放到哪里合适,一开始是空的,后面会越来越多,尽量放到大一点的硬盘里面。

4.2中央仓库

也就是在Maven中内置一个远程仓库代码,这就是中央仓库。

仓库地址:https://repo1.maven.org/maven2/

可以通过https://mvnrepository.com这个⽹站来查询并下载

搜索点击第一个中间的蓝色进去下载自己想要的jar包。

五,Maven配置国内源

5.1配置当前项目的setting

 查看配置⽂件的地址,如上图所⽰,Maven配置⽂件地址为:D:\maven.test\.m2\settings.xml 

5.2配置国内源

因为用国外的仓库就很慢,咱们可以使用国内的阿里云的仓库:

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

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

5.3设置新项目setting

因为上述的内容只对当前项目生效,为了使后面的项目也生效,就需要重新设置一下新项目的Settings:跟着下面的图点击后就成功配置了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • stm32中断详解
  • LabVIEW滤波器性能研究
  • 3.5、matlab打开显示保存点云文件(.ply/.pcd)以及经典点云模型数据
  • Spring开发实践(五)
  • VUE2用elementUI实现父组件中校验子组件中的表单
  • 讲讲 JVM 的内存结构(附上Demo讲解)
  • LVS集群及其它的NAT模式
  • (自用)网络编程
  • 华为配置蓝牙终端定位实验
  • Apache中使用SSI设置
  • 【网络安全科普】网络安全指南请查收
  • IDEA社区版使用Maven archetype 创建Spring boot 项目
  • 《从零开始学习Linux》——开篇
  • 高盛开源的量化金融 Python 库
  • 精通 mysqldumpslow:深度分析 MySQL 慢查询日志
  • 2019年如何成为全栈工程师?
  • CSS 提示工具(Tooltip)
  • go append函数以及写入
  • Java-详解HashMap
  • Python3爬取英雄联盟英雄皮肤大图
  • Redis学习笔记 - pipline(流水线、管道)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SSH 免密登录
  • vagrant 添加本地 box 安装 laravel homestead
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 实现菜单下拉伸展折叠效果demo
  • ionic入门之数据绑定显示-1
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • !$boo在php中什么意思,php前戏
  • # centos7下FFmpeg环境部署记录
  • #70结构体案例1(导师,学生,成绩)
  • #LLM入门|Prompt#3.3_存储_Memory
  • (16)Reactor的测试——响应式Spring的道法术器
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (4)事件处理——(7)简单事件(Simple events)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (补充)IDEA项目结构
  • (二)学习JVM —— 垃圾回收机制
  • (回溯) LeetCode 78. 子集
  • (接口封装)
  • (贪心) LeetCode 45. 跳跃游戏 II
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net FrameWork简介,数组,枚举
  • .Net 执行Linux下多行shell命令方法
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • /var/spool/postfix/maildrop 下有大量文件
  • @ModelAttribute 注解
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [240621] Anthropic 发布了 Claude 3.5 Sonnet AI 助手 | Socket.IO 拒绝服务漏洞
  • [BJDCTF2020]The mystery of ip1
  • [BT]BUUCTF刷题第9天(3.27)
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [codeforces] 25E Test || hash