什么是Maven?
maven就是一个项目管理的工具,我们可以通过pom.xml文件获取jar包而不用手动去添加jar包
Maven提供有项目构建管理依赖等
创建一个Maven项目
(1)项目构建
由于IDEA本身已经集成了Maven,所以我们可以直接使用
点击File->NEW Project
点击Create就创建好了一个Maven项目
这些都是maven的命令
我们点击package就可以完成打包工作新项目第一次打包时会下载对应的依赖
打包就是把所有的class文件全部放到一起打成jar包或者war包
(2)依赖管理
Maven是一个项目管理工具通过pom.xml文件获取jar包,而不用手动添加jar包这里的jar包就是依赖
pom.xml是maven配置的文件用来描述项目各种信息
依赖配置
依赖:是当前项目运行所需要的jar包
比如使用JDBC时我们需要使用mysql的依赖,我们可以手动下载载mysql-connector-java的包添加到项目中也可以通过maven引入
如果使用maven我们只需要在pom.xml引入mysql-connector-java依赖就可以了
当引入依赖之后IDEA就会自动下载好jar包
依赖传递
没有使用maven之前我们手动的向项目中添加jar包,就需要把所有jar包复制到项目的工程
例如:
A依赖B B依赖C A项目引入B时 也要要引入C 手动管理这些依赖过程会很麻烦 这要求我们需要知道每个库都依赖那些库 依赖之间的版本如何关联
但是我们使用了maven就不用不用管理依赖的关系 maven的依赖具有传递性 自己会自动把所依赖的其他jar包一起导入
当我们项目A通通过maven引入JarA是就会自动引入jarB和jarC
依赖排除
如果一个项目很复杂 库之间的依赖关系就会很复杂
向上面的项目A只需要一个jarC就会通过依赖排除去掉一个jarC包
我们可以看到刚刚引入的mysqljar包还依赖了一个其他jar包我们可以使用maven来进行依赖排除
使用依赖排除时大多数时为了解决冲突
Maven Help插件
当项⽬⽐较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先
找到冲突, 我们可以使⽤Maven Help插件来观察包和包之间的依赖关系
安装插件
Flie->settings->pluging
然后搜索maven help
安装完成之后就可以在pom.xml文件下方
查看jar包依赖的关系
Maven仓库
我们通过几行代码就可以将依赖jar包放入项目这是怎么做到的呢?
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
<exclusions>
<exclusion>
<artifactId>protobuf-java</artifactId>
<groupId>com.google.protobuf</groupId>
</exclusion>
</exclusions>
</dependency>
这些代码被称作为"坐标"在Maven中根据groupId,artifactId,version的标签配置来识别唯一一个的jar包少一个都不行,当我们在pom文件配置完成依赖之后点击刷新maven就会根据坐标的位置去仓库里找jar包然后下载下来添加到项目之中 这个jar包下载的地方就是仓库
maven的仓库分为本地仓库和远程仓库 ,远程仓库又分为中央仓库和私服
远程仓库
中央仓库
maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹. 由 Maven 团队维护,全球唯⼀
maven的仓库本质就是一个目录 这个目录用来存储开发用到的依赖
中央仓库的地址
https://repo1.maven.org/maven2/
可以通过https://mvnrepository.com 这个⽹站来查询并下载
私服
私有服务器 私服是企业的
如果一个jar如果私服不存在 就去中央仓库下载 一个组织只要有一个人下载其他人就都可以用
本地仓库
自己计算机上的一个目录用来存储jar包当项目引入对应的依赖之后首先会查找仓库中是否有对应的jar包
如果有 直接直接项目中引用 如果没有就回去中央仓库中下载对应的jar包到本地仓库
本地仓库maven相关的配置
Flie->Setting 搜索maven
如果该地址有中文要新建一个英文文件夹把里面的东西复制进去并使用英文文件夹的地址
maven本地地址