Maven 学习

导学

Maven是一个项目管理工具,在之前的课程中,我们一个项目使用了多个jar包,这对于我们来说是比较麻烦的,不同的jar包之间可能相互依赖,也有可能产生冲突。在这种情况下,如何去保证我们的jar包使用正确呢?Maven就能极好的解决这个问题。
在本节课程中,需要掌握Maven的核心特性,依赖管理以及打包方式。

Maven介绍

  • Maven是项目管理工具,对软件项目提供构建和依赖管理
  • Maven是Apache下的Java开源工具
  • Maven是Java项目提供了统一的管理方式,已成为业界标准

日常开发痛点:

  • 不同的IDE之间创建的项目结构不同,是不能互通的,eclipse中创建的项目就不能拿到idea中运行。
  • 一个Java软件需要多种Jar包支持,到处下载很麻烦。
  • 一个Java项目打包无外乎jar包与war包,如何采用一个更统一更方便的方式呢?

Maven核心特性:

  • 项目设置遵循统一的规则,保证不同开发环境的兼容性
  • 强大的依赖管理,项目依赖组件自动下载、自动更新
  • 可扩展的插件机制,使用简单,功能丰富

在这里插入图片描述
在这里插入图片描述

maven依赖管理

依赖管理:

  1. Maven利用dependency(依赖)自动下载、管理第三方jar;
  2. 在pom.xml文件中配置项目依赖的第三方组件
  3. maven自动将依赖从远程仓库下载至本地仓库,并在工程中引用

在这里插入图片描述
可以在该pom.xml中添加一个dependencies的根标签。
并去https://search.maven.org中查找对应jar包的依赖
比如,我现在添加该依赖就可以下载对应的mysql连接驱动。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.dodoke</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  	<dependency>
	  	<groupId>mysql</groupId>
	  	<artifactId>mysql-connector-java</artifactId>
	  	<version>8.0.18</version>
	</dependency>
  </dependencies>
  
</project>

比较复杂的组件由多个jar包组合,maven对组件进行深入解析,对所有jar包进行下载。

本地仓库与中央仓库

在我们使用maven之前,其实我们已经去设置了中央仓库为阿里云的镜像仓库,而且也设置了本地仓库为c盘之外的其他盘符。
那么,究竟什么是maven的中央仓库与本地仓库呢?
在这里插入图片描述
当我们使用maven的时候,我们可以通过pom.xml下载对应的jar包。其实maven会经历如下的步骤:

  1. 解析pom.xml,分析要下载的内容
  2. 查看本地仓库,查找是否已经下载过该jar包
  3. 如果没有该jar包,将前往中央仓库下载该jar包到本地仓库
  4. 在下载好以后或本地存在该jar,则自动的将该jar包添加到项目中

其实在之前的设置中,我们设置了maven默认下载的阿里云提供的中央仓库中保存的jar包。但是这在我们正式开发中不怎么建议。
通常我们会设置单独某个项目采用私服(代理服务器,保存有备份的jar包,最有名的就是阿里云的私服)的仓库,比如我们会在pom.xml中设置仓库地址。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.dodoke</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <repositories> 
	<repository>
		<id>aliyun</id> 
		<name>aliyun</name> 
		<!-- 可能阿里云仓库的地址会发生变化,需要查找最新的地址 -->
		<url>https://maven.aliyun.com/repository/public</url> 
	</repository> 
  </repositories>
  <dependencies>
  	<dependency>
	  	<groupId>mysql</groupId>
	  	<artifactId>mysql-connector-java</artifactId>
	  	<version>8.0.18</version>
	</dependency>
  </dependencies>
</project>

这样就可以设置单个项目的jar下载,优先从阿里云私服下载,如果私服没有,才从maven官网下载。

maven常用命令

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值