maven简单概述及安装

maven

1. 概述:
   Maven 是一个项目管理工具,它包含了一个项目对象模型(POM: Project Object Model),  
   一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),  
   和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
2. maven功能
	1. 是一个跨平台的项目管理工具。
		1. 主要服务基于Java平台的项目构建,依赖管理,项目信息管理  
		1. 项目构建 
			清理(clean) --> 编译(compile) --> 测试(test) --> 打包(package)--> 安装(install)-->发布(deploy)
    
		2. 依赖管理
			* 自动下载项目需要的jar包
		
		3. 项目信息管理
			1. 项目名称描述,开发人员管理等等   
			 
	2. 使用maven的优点
	   1.  解决传统的管理jar依赖的问题
			* 解决jar冲突
			* 解决jar依赖
			* 解决jar体积过大问题,jar文件放在仓库即可
			* maven可指定jar依赖范围
			 
2. 安装:  
	1. 下载maven

下载地址 :http://maven.apache.org/download.cgi

	2. 解压  
		1. 解压后的目录		
			* bin:含有mvn运行的脚本
			* boot:含有plexus-classworlds类加载器框架
			* conf:含有settings.xml配置文件
			* lib:含有Maven运行时所需要的java类库
			* LICENSE
			* NOTICe
			* README.txt
		| * 解压路径尽量不要包含中文空格
	3. 配置环境变量
 		1. MAVEN_HOME : D:\maven\apache-maven-3.5.2-bin  
 		|*小贴士:路径是你自己的maven路径  
	4. 设置系统环境变量Path  
		1. 在Path中追加: %MAVEN_HOME%\bin
	5. 检验是否安装成功   
		1. 打开 cmd 输入:mvn -version
			* 若出现下图则成功  

在这里插入图片描述

  	6. 配置本地仓库  
		1. Maven的默认本地仓库在:${user.home}/.m2/repository;这地址可以在settings.xml中修改指定自定义的仓库路径。  
		2. 自定义仓库路径:找到安装目录下的conf文件夹里的settings.xml文件,修改如下:	  
		|*小贴士 红框中的路径必须存在  

在这里插入图片描述

3. maven项目结构    
src/main/java存放项目的.java文件(开发源代码)
src/main/resources存放项目配置文件,如果没有配置文件该目录可无,如spring, hibernate配置文件
src/main/webapp存放web项目资源文件(web项目才有)
src/test/java存放所有测试.java文件(测试源代码)
src/test/resources测试配置文件,如果没有配置文件该目录可无
target项目输出位置(可无)
pom.xmlmaven项目核心配置文件
4. maven仓库    
	* Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,就称之为仓库。(仓库就是存放依赖和插件的地方)
	1. 本地仓库
		* Maven在本机存储构件的地方
	2. 远程仓库
		1. 中央仓库:包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等
			* 地址:https://mvnrepository.com/
		2. 私服:是一种特殊的远程仓库,它是架设在局域网内的仓库。
		3. 其他公共库  
5. maven坐标  
	1. 组成
		* groupId:定义当前Maven项目隶属项目、组织
		* artifactId:定义实际项目中的一个模块
		* version:定义当前项目的当前版本
		* packaging:定义该项目的打包方式(pom/jar/war,默认为jar)
		* groupId、artifactId、version简称为GAV。  
	2. 获取
		1. 到maven中央仓库获取
			*  地址:https://mvnrepository.com/  
			*  网站上可以搜索具体的组织或项目关键字,之后复制对应的坐标到pom.xml中  

在这里插入图片描述

  6. maven依赖管理
	1. 依赖范围
		* 依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系  
		1. compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
		2. test:测试依赖范围。只对于测试classpath有效
		3. provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
		4. runtime:运行时提供。例如:jdbc驱动
		5. system:系统范围,自定义构件,指定systemPath;跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
		6. import:只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置。   

7.  maven生命周期  
		*  Maven生命周期就是为了对所有的构建过程进行抽象和统一;包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤。  
		1. 清理生命周期
			* clean:清除项目编译信息
		2. 默认生命周期
			* compile :编译
			* test    :测试
			* package :打包
			* install : 安装
			* deploy  :发布
		3. 站点生命周期  
8. maven插件使用  
	* Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。
	* 每个插件都能实现多个功能,每个功能就是一个插件目标。Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务  
	1. 添加tomcat插件;以后可以针对项目快速配置多个不同端口的tomcat    
		*  运行时输入tomcat7:run指令

在这里插入图片描述

	2. 修改JDK编译版本    

在这里插入图片描述

	3. 添加打包项目源码的插件;运行install命令后在仓库中有项目的源码jar包

在这里插入图片描述

备注:本博客乃是笔记,用于复习,若有不全,请见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值