🙉专栏推荐:Java入门知识🙉
⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏
⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏
目录
Maven
Maven核心功能
1. 项目构建
2. 依赖管理
依赖冲突
依赖排除
Maven仓库
本地仓库和远程仓库
Maven
Maven主要用于Java项目的管理和构建
创建Maven项目
Maven核心功能
1. 项目构建
maven有许多命令可以帮助我们构建项目
例如package命令
package命令可以将项目打成jar包
打包: 将所有class文件集中到一起, 打成jar包或war包
jar作用: 其他开发者可以引入jar包之后, 可以使用里面的类和属性, 方便开发
2. 依赖管理
没有Maven的情况下, 导jar包是需要我们是手动导入的,现在有了Maven就不需要手动导jar包
Maven是一个项目管理工具, 通过pom.xml文件的配置获取jar包, 不需要我们手动导包, 这个操作就是依赖
下面演示Maven导包, 我们只需要再pom.xml文件引入依赖即可
依赖传递
向项目中引入依赖的jar包时, 也会把jar包之下的依赖引入进去
比如B jar包依赖C jar包, 当我们向A项目引入B jar包时, 也会把B jar包之下的C jar包引入到A项目中, 这种机制被称为依赖传递
依赖冲突
依赖冲突是指在Maven项目中, 不同的依赖引入了相同的库但版本不同, 导致Maven无法确定使用哪个版本. 这种情况通常会引发编译错误或运行时异常.
例如, 假设你的项目依赖于库A和库B, 而库A依赖于库C的1.0版本, 库B依赖于库C的2.0版本.Maven在构建项目时会遇到冲突, 因为它不知道应该使用库C的哪个版本.
依赖排除
用于解决依赖冲突, 排除冲突的依赖
例如, 如果你的项目依赖于库A, 而库A又依赖于库B, 但你不希望库B被引入到你的项目中, 你可以在POM.XML文件中排除库B.
怎样排除不想要的依赖呢?
可以借助Maven Help插件
安装步骤:
安装插件:File->Settings->Plugins->搜索'MavenHelp'-> 找到对应插件,点击Install安装即可,安装 后需要重启下idea,才能生效
如果忘记排除依赖冲突怎么办?
此时编译器会按照最短路径选择依赖, 另一个会被舍弃
Maven仓库
仓库可以抽象成现实中的快递站, Maven相当于云快递站,
下载Jar包就像是取快递, 取快递会有取件码, 通过取件码就能找到唯一的包裹
Maven的取件码就是groupId、artifactId、version这三个属性标识的, 通过它们就能找到Jar包并下载下来.
本地仓库和远程仓库
仓库分为两种本地仓库和远程仓库
当Maven构建项目时,它会按照以下顺序查找依赖:
- 本地仓库:首先检查本地仓库是否存在所需依赖
- 远程仓库:如果本地仓库没有找到,Maven会从远程仓库下载依赖并缓存到本地仓库
本地仓库是存储在开发者计算机上的一个目录, 本地仓库中的依赖可以立即被项目使用,无需每次都从远程仓库下载, 没网也能用
远程仓库一般是由Maven社区维护, 本地仓库没有的依赖就会区中央仓库下载
本地仓库的地址
由于Maven中央仓库服务器在国外, 我们下载Jar包速度会很what can i say, 因此我们可以设置更改国内站点进行下载
settings.xml文件链接:
美图分享
✨🎆谢谢你的阅读和耐心!祝愿你在编程的道路上取得更多的成功与喜悦!"🎆✨🎄
⭐️点赞收藏加关注,学习知识不迷路⭐️
🎉✔️💪🎉✔️💪🎉✔️💪🎉✔️💪🎉
👍😏⛳️点赞☀️收藏⭐️关注😏👍
👍😏⛳️点赞☀️收藏⭐️关注😏👍
👍😏⛳️点赞☀️收藏⭐️关注😏👍
🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️🙆♂️