做招标代理应关注的网站,wordpress修复数据库,网站建设公司的组织架构,怎样登录建设互联网站前言
#x1f31f;#x1f31f;本期讲解关于Maven的了解和如何进行国内源的配置~~~
#x1f308;感兴趣的小伙伴看一看小编主页#xff1a;GGBondlctrl-CSDN博客
#x1f525; 你的点赞就是小编不断更新的最大动力
#x1f3… 前言
本期讲解关于Maven的了解和如何进行国内源的配置~~~
感兴趣的小伙伴看一看小编主页GGBondlctrl-CSDN博客 你的点赞就是小编不断更新的最大动力
那么废话不多说直接开整吧~~ ️1.Maven的了解
1.1什么是Maven 在官方的文档中对于Maven的介绍是如下所示的Welcome to Apache Maven – Maven 翻译过来就是: Maven是⼀个项⽬管理⼯具。基于POM(Project Object Model,项⽬对象模型)的概念Maven可以通 过⼀⼩段描述信息来管理项⽬的构建报告和⽂档的项⽬管理⼯具软件。
但是大白话就是 Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包⽽不⽤⼿动去添加jar包 1.2创建一个Maven项目
那么接下来就跟着小编进行操作吧~~~
注意IDEA本⾝已经集成了Maven, 我们可以直接使⽤, ⽆需安装 步骤File - New - Project 如下图所示 然后点击创建即可此时我们就成功创建了一个Maven项目
1.3Maven的核心功能
1.项目构建
Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式
当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过 这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦,, ⽽Maven 给我们提供了 ⼀套简单的命令来完成项目的构建
点击右边框的Maven按键 然后点击这里的打包按钮此时那么就进行打包的操作了具体控制台的显示如下 并且我们可以发现此时在我们的项目创建的栏目中可以看到多了一个jar为后缀的项目就是我们所打的jar包 解释 打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包 jar包和war包都是⼀种压缩⽂件 jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直 接使⽤这些jar包中的类和属性. 打成可执⾏jar包这样的包就可以通过java -jar命令来执⾏ war包可以理解为是⼀个web项⽬⾥⾯是项⽬的所有东西, 通常⽤于⽹站 2.管理依赖
上⾯说到, Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包⽽不⽤⼿动去添加jar包 获取的jar包, 其实就是依赖
依赖配置
在之前学习JDBC的时候我们要添加mysql-connector-java的包.并且添加到项⽬中此时才可以建立数据库与idea的连接 此时我们使用Maven的时候直接可以通过代码操作直接导入jar包的操作我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了
此时代码如下所示
dependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.30/version/dependency
/dependencies
解释 在dependencies中部的所有代码描述的就是建立依赖的坐标 注意引入代码后一定要记得刷新页面
Maven管理依赖的好处
使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以 了, 由于maven的依赖具有传递性所以会⾃动把所依赖的其他jar包也⼀起导⼊
如下图所示 解释 在Maven项目引入jar包A后那么此时就会自动的引入jar包A所依赖的jar包那么此时就会自动一如jar包B与jar包C 依赖的排除
当前阶段我们需要依赖的库并不多, 但随着项⽬的越来越复杂, 库之间的依赖关系也会变得越来越复杂. 如上图中, 如果项⽬A不需要Jar B,也可以通过排除依赖的⽅式来实现
此时我们主动使用代码进行依赖的排除
dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion6.0.6/version!--排除依赖--exclusionsexclusionartifactIdspring-jcl/artifactIdgroupIdorg.springframework/groupId/exclusion/exclusions
/dependency
但是在idea中有一个插件可以帮助执行依赖的排除
Maven helper插件
当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先 找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系
下载方式 File - Settings -Plugins - 搜索Maven Help - 找到对应插件, 点击Install 安装即可, 安装 后需要重启下idea, 才能⽣效 图示如下 注意下载后记得一定一定要进行重启的操作
然后我们点击下面的依赖选项可以看到依赖的关系 此时我们可以通过手动右击鼠标然后就可以进行手动的删除这里的某些依赖
️2.Maven的仓库
我们通过短短⼏⾏代码, 就把依赖jar包放在了项⽬⾥, 具体是如何做的呢?
dependenciesdependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.30/version/dependency
/dependencies
解释 这个代码, 我们称之为 坐标, 也就是唯⼀的. 在Maven中, 根据 groupId、artifactId、version 的配置, 来唯⼀识别⼀个 jar 包, 缺⼀不可. 当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他 下载下来, 添加到项⽬中. 这个Jar包下载的地⽅就称为仓库 Maven仓库分为两⼤类: 本地仓库和远程仓库. 其中远程仓库⼜分为中央仓库, 私服 和其他公共库
2.1本地仓库
本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包) 当项⽬中引⼊对应依赖jar包后⾸先会查找本地仓库中是否有对应的jar包 • 如果有则在项⽬直接引⽤ • 如果没有则去中央仓库中下载对应的jar包到本地仓库 本地仓库地址可以通过Maven配置查看 注意小编这里的本地仓库已经是通过了国内源的配置的下文有讲到
2.2中央仓库
中央仓库: maven 软件中内置⼀个远程仓库地址就是中央仓库服务于整个互联⽹. 由 Maven 团队 维护全球唯⼀.
仓库地址https://repo1.maven.org/maven2/
可以通过https://mvnrepository.com 这个⽹站来查询并下载
我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包
例如我们进行jar包的查询 这里由于是国外的网站所以访问比较慢所以小编推荐使用加速器~~~
点击进入 注意一般来说点击没有漏洞的并且这里的使用的人数尽可能多这里点击8.3.0~~~ 往下面进行翻可以看到此时的依赖的代码
这就是我们添加进入我们idea中的依赖的代码源就是我们jar包的坐标 2.3私有服务器
私服: ⼀般由公司团队搭建的私有仓库. 私服属于某个公司,或者某个部⻔, 往往需要⼀定权限. 有了私服之后, Maven依赖下载的顺序⼜发⽣了变化
如图所示 解释 1. 先从本地仓库获取, 本地仓库存在, 则直接返回 2. 如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回 3. 如果私服上不存在该资源则从中央仓库下载, 中央仓库不存在, 就报错了... 4. 如果中央仓库中存在, 就先缓存在私服上之后再缓存到本地仓库⾥, 再为Maven的下载请求提供服 务 2.4Maven设置国内源
因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源 接下来介绍, 如何设置国内源
国内使⽤时会⽐较慢我们可以更换为阿⾥云 的仓库
打开settings.xml, 在 mirrors 节点上添加内容如下
mirroridaliyunmaven/idmirrorOfcentral/mirrorOfname阿⾥云公共仓库/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//url/mirror然后将这个这个settings的xml文件添加到第一排这个文件路径目录上 小编这里是将这里的repository复制到新的路径上面去了所以这里的路径就不是默认的
然后这里的setting的文件就是如下 点击进入小编这里使用的是sublime文本编辑器所以具体的样式就是如下所示的 小编这里只截取了一小部分所以就在你们的settings中添加就可以了如果没有就私信小编哦小编为你解答~~~
️3.总结
本期总结了关于Maven在项目开发中的重要作用从什么是Maven到理解它的核心功能以及如何管理它的仓库进行jar包坐标的配置以及如何设置国内源都进行了详细的讲述
~~~~最后希望与诸君共勉共同进步 以上就是本期内容了 感兴趣的话就关注小编吧。 期待你的关注~~~