Maven

1如何在项目中导入jar包
	1.1下载jar包
	1.2将jar包拷贝到项目中(WEB_INF/lib)
	1.3选择jar文件	—	右击		—	add as library
 2上述导入jar包存在的问题
	2.1步骤多(相对)繁琐
	2.2当不同项目中需要使用相同的jar包时,需要分别存储这个jar文件。(冗余)
	2.3在不同的运行环境中可能会因为jar包版本不一致而使项目无法运行(可移植性差)

项目的生命周期:项目从编译到运行的整个过程

完整的生命周期:清理缓存 -> 检验 ->编译 -> 测试 -> 打包 -> 安装 -> 部署/运行

软件(IDEA/Eclips)提供了一键构建项目的功能,但是如果我们需要自定义生命周期的管理,这是就需要使用Maven这个工具软件。

一、Maven介绍

	Maven是一个基于项目对象模型(POM)进行项目的依赖管理、生命周期管理的工具软件
	POM Project Object Model , Maven可以根据pom文件配置对此项目进行依赖管理;也就是说项目中需要依赖,直接在pom.xml进行配置即可。

二、安装及配置Maven工具

三、Maven的项目结构

hrs:项目名称
	--src
	    --main:存放项目的源文件
	        --java:存放java代码,相当于传统项目中的src目录
	        --resources:存放配置文件和静态资源的目录
	    --test:此处存放项目的单元测试代码
	        --java:测试代码
	--pom.xml

pom.xml内部基本信息

	<?xml version="1.0" encoding="utf-8"?>
	<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</modeVersion>
		<!--指定项目的标识:G  企业标识  A  项目标识  V  版本 -->
		<groupId>com.xinyuan</groupId>
		<artifactId>hrs</artifactId>
		<version>1.0.0</version>
		<!--配置当前项目的依赖:mvnrepository.com-->
		<dependencies>
			<dependency>
				<groupId>mysql</gruopId>
				<artifactId>mysql-connector-java</artifactId>
				<version>8.0.25</version>
			</dependency>
			<!--可以写多个dependency-->
		</dependencies>
	</project>

四、核心功能:

	依赖管理
	生命周期管理
	聚合功能

五、依赖管理

	1、	依赖管理流程
		①在项目中的pom.xml配置依赖(可设置自动/手动更新)
		②Maven读取项目的pom.xml文件
		③Maven首先检查本地仓库是否有项目所需要的jar包,如果有直接引入,如果没有Maven会连接远程仓库下载jar包并存储到本地仓库,再从本地仓库引用到项目
	2、仓库
		①本地仓库:本地计算机上的某个文件夹(可以任意位置任意名称)
		②远程仓库:中央仓库(Maven官方提供)公共仓库(阿里云等)
		③私服(一个公司内唯一可以连接到远程仓库并下载jar包并向其他计算机提供jar包的的计算机)
	3、配置本地仓库
		①在电脑的任意位置新建一个文件夹作为本机上的本地仓库
		②打开D:\apache-maven-3.8.3\conf\setting.xml	(F:\mvn为你创建的本地仓库的地址)

在这里插入图片描述

	4、配置远程仓库
		打开D:\apache-maven-3.8.3\conf\setting.xml	(先找到<mirrors>并在里面进行设置)

在这里插入图片描述

六、生命周期管理

在项目的根目录下执行cmd-->mvn指令(此目录必须包含pom.xml)
	  ->清理缓存	mvn clean
	  -> 检验 			mvn check
	  ->编译			mvn complie
	  -> 测试			mvn test
	  -> 打包			mvn package
	  -> 安装 			mvn install
	  -> 部署/运行	mvn deploye

七、Maven在IDEA(2021.2.1)中的关联
在这里插入图片描述
在这里插入图片描述

八、使用IDEA创建Maven项目

	创建java项目

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

	创建web项目(在java项目的基础上进行)
		1、创建maven项目:maven2
		2、在pom.xml文件设置打包方式为war
			<?xml version="1.0" encoding="UTF-8"?>
			<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.xinyuan</groupId>
			    <artifactId>maven2</artifactId>
			    <version>1.0.0</version>
			
			    <properties>
			        <maven.compiler.source>8</maven.compiler.source>
			        <maven.compiler.target>8</maven.compiler.target>
			    </properties>
			    
			    <!--设置项目打包方式为war-->
			    <packaging>war</packaging>
			</project>
		3、完善web项目结构

在这里插入图片描述

		4、配置web组件

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

		5、部署web项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
九、在IDEA中使用Maven进行依赖管理

	查找依赖坐标的地址:https://mvnrepository.com/(需进行验证)

在这里插入图片描述

	配置依赖:

在这里插入图片描述

	依赖范围(可不设置)
		通过dependency添加依赖时,可以通过scope标签配置当前依赖的范围
			<dependencies>
	        	<dependency>
		            <groupId>mysql</groupId>
		            <artifactId>mysql-connector-java</artifactId>
		            <version>8.0.25</version>
		            
		            <scope>test</scope>
		            
	       	 	</dependency>	
   	 		</dependencies>
   	 四种依赖范围:
   	 	①test 只在项目测试当中产生依赖(编译、测试)
   	 	②runtime 只在运行时使用(编译、运行、测试运行)
   	 	③provided 在(编译、测试、运行)
   	 	④compile 作用于所有阶段

十、在IDEA中使用Maven进行项目构建

	1、Maven项目构建生命周期说明
		。clean 清理缓存 清理项目生成的缓存
		。validate 校验 验证项目需要是正确的(项目信息、依赖)
		。complie 编译 编译项目专供的源代码
		。test 测试 运行项目中的单元测试
		。package 打包 将项目编译后的代码打包成发布格式
		。verify 检查 对集成测试的结果进行检查,确保项目质量达标
		。install 安装 将包安装到maven的本地仓库,以便在本地的其他项目中可以使用(聚合工程)
		。set 插件
		。deploy 部署 将包安装到私服的仓库,以供其他开发人员共享
	2、可视化步骤(如下:)

在这里插入图片描述

	3、终端指令:
	打开项目终端(如下:)

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

十一、私服

企业搭建供内部使用的一个Maven仓库
		。开发者需要依赖直接从私服下载。
		。私服可以实现企业内部依赖的共享:当企业开发了一个通用插件(当前私服内的其他开发者就可以共享这个插件)

十二、聚合功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值