网站后台更新栏目后 网站,长沙优化网站哪家公司好,如何做微信网站,logo设计 公司 免费阿华代码#xff0c;不是逆风#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力#xff01;#xff01; 希望本文内容能够帮助到你#xff01;#xff01; 目录 引入#xff1a;
一#xff1a;Maven插件的安装
1#xff1a;环境准备
2#xff1a;创建项目
二… 阿华代码不是逆风就是我疯 你们的点赞收藏是我前进最大的动力 希望本文内容能够帮助到你 目录 引入
一Maven插件的安装
1环境准备
2创建项目
二Maven的核心功能
1项目构建
2依赖管理
1依赖配置
2添加依赖坐标
3依赖传递
4依赖排除
5依赖调解 三Haven Help插件
1插件下载
2查看插件依赖关系
3排除依赖
四Maven仓库
1仓库
1本地仓库
2中央仓库
2Maven获取资源优先级
五Maven文件设置国内源
1配置当前项目setting
2配置国内源
3设置新项目的setting 引入
Apache谐音阿帕奇——非常大的一个开源社区很多项目为捐赠
本篇文章学习的Maven 就是Apache旗下的一个项目
Maven是一个项目管理工具基于POM(Project Object Model,项⽬对象模型)的概念Maven可以通过⼀⼩段描述信息来管理项⽬的构建报告和⽂档的项⽬管理⼯具软件。
一Maven插件的安装
1环境准备 ⾃检Idea版本: 社区版: 2021.1 -2022.1.4 专业版: ⽆要求 如果个⼈电脑安装的idea不在这个范围, 需要卸载重新安装 2创建项目 二Maven的核心功能
1项目构建 Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式 当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别⿇烦,, ⽽Maven 给我们提供了 ⼀套简单的命令来完成项⽬的构建. 打包就是把所有的class⽂件, 全部放在⼀起, 打成jar包或者war包 jar包和war包都是⼀种压缩⽂件 jar包就是把开发⼈员已经写好的⼀些代码进⾏打包. 打好的jar包就可以引⼊到其他项⽬中, 也可以直 接使⽤这些jar包中的类和属性. 另外也可以打成可执⾏jar包, 这样的包就可以通过java -jar命令来执 ⾏ 2依赖管理 上⾯说到, Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包⽽不⽤⼿动去添加jar包 获取的jar包, 其实就是依赖 1依赖配置 指当前项⽬运⾏所需要的jar包. ⽐如前⾯学习JDBC时, 我们需要⼿动下载mysql-connector-java的包.并且添加到项⽬中 2添加依赖坐标 如果使⽤Maven, 我们只需要在pom.xml中引⼊mysql-connector-java的依赖就可以了 dependencies!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j --dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion8.3.0/version/dependency/dependencies 点击刷新按钮, 引⼊新加⼊的依赖jar包 刷新完之后, 就可以在项⽬中看到新加⼊的jar包 3依赖传递 早期我们没有使⽤maven时, 向项⽬中添加依赖的jar包需要把所有的jar包都复制到项⽬⼯程下. ⽐如 A 依赖B, B依赖C, 那么 A项⽬引⼊B 的同时, 也需要引⼊C, 如果我们⼿动管理这个依赖, 这个过程 就会⽐较⿇烦, 我们需要知道每个库都依赖哪些库, 以及这些依赖之间的版本是如何关联的 但使⽤maven的话, 就可以避免管理所需依赖的关系。我们只需要在pom⽂件中, 定义直接依赖就可以 了, 由于maven的依赖具有传递性所以会⾃动把所依赖的其他jar包也⼀起导⼊ 如上图, 项⽬A 通过Maven 引⼊ Jar A 时, 会⾃动引⼊ Jar B 和Jar C. Jar A 和项⽬B就是项⽬A的直接依赖. Jar B, Jar C是间接依赖 4依赖排除 当前阶段我们需要依赖的库并不多, 但随着项⽬的越来越复杂, 库之间的依赖关系也会变得越来越复杂. 如上图中, 如果项⽬A不需要Jar B,也可以通过排除依赖的⽅式来实现 dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdversion8.3.0/version!--排除依赖--exclusionsexclusionartifactIdspring-jcl/artifactIdgroupIdorg.springframework/groupId/exclusion/exclusions/dependency
5依赖调解 当项⽬中的依赖存在依赖冲突时, 例如 存在这样的依赖 A-B-C-X(1.0) A-D-X(2.0) Maven会采⽤最短路径优先的原则去选择依赖这⾥2的依赖路径更短所以会选择X(2.0), 当然我们 也可以选择指定某个依赖的版本 当然也可以指定X的版本 三Haven Help插件 当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先 找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系 1插件下载 2查看插件依赖关系 打开pom⽂件, 可以看到Jar包之间的依赖关系 3排除依赖 四Maven仓库
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.30/version
/dependency 我们通过短短⼏⾏代码, 就把依赖jar包放在了项⽬⾥ 这个代码, 我们称之为 坐标, 也就是唯⼀的. 在Maven中, 根据 groupId、artifactId、version 的配置, 来唯⼀识别⼀个 jar 包, 缺⼀不可. 当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他 下载下来, 添加到项⽬中. 这个Jar包下载的地⽅就称为仓库 1仓库
⽤于存储资源管理各种jar包本质就是⼀个⽬录(⽂件夹)这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等)
1本地仓库 本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包) 当项⽬中引⼊对应依赖jar包后⾸先会查找本地仓库中是否有对应的jar包 如果有则在项⽬直接引⽤ 如果没有则去中央仓库中下载对应的jar包到本地仓库 本地仓库地址可以通过Maven配置查看: File - Settings 本地仓库路径 2中央仓库 maven 软件中内置⼀个远程仓库地址就是中央仓库服务于整个互联⽹. 由 Maven 团队 维护全球唯⼀ 我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包 仓库地址
Maven Repository: Search/Browse/Explore 也可以通过这个网站来查询下载
Maven Repository: Search/Browse/Explore 2Maven获取资源优先级 ① 先从本地仓库获取, 本地仓库存在, 则直接返回 ② 如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回 ③ 如果私服上不存在该资源则从中央仓库下载, 中央仓库不存在, 就报错了... ④ 如果中央仓库中存在, 就先缓存在私服上之后再缓存到本地仓库⾥, 再为Maven的下载请求提供服务 五Maven文件设置国内源 因为中央仓库在国外, 所以下载起来会⽐较慢, 所以咱们选择借助国内⼀些公开的远程仓库来下载资源 接下来介绍, 如何设置国内源 1配置当前项目setting 2配置国内源 Maven 仓库默认在国外 https://mvnrepository.com/ 国内使⽤时会⽐较慢我们可以更换为阿⾥云 的仓库 也可以选择别的仓库, 参考: Maven 镜像地址大全 - 知乎 打开settings.xml, 在 mirrors 节点上添加内容如下 mirroridaliyunmaven/idmirrorOfcentral/mirrorOfname阿⾥云公共仓库/nameurlhttp://maven.aliyun.com/nexus/content/groups/public//url/mirror 3设置新项目的setting 新项目的setting也要修改