maven的初步理解
大家好,我是小学五年级在读的蒟蒻,专注于后端,一起见证蒟蒻的成长,您的评论与赞与关注是我的最大动力,如有错误还请不吝赐教,万分感谢。一起支持原创吧!纯手打有笔误还望谅解。
-
maven是什么
- maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM),只需要一些简单的配置,就可以批量完成项目的构建、报告和文档的生产工作
-
maven的优点
-
作为自动构建工具,可以帮我们自动化构建,还能抽象构建过程,提供构建任务的实现,再不同平台上提供一致的操作系统
-
除了管理项目还可以管理第三方依赖包,可以直接告诉maven然后从中央仓库下载下来
-
-
maven的安装
-
maven是基于java开发的,所以安装maven必须要安装好jdk
-
从官网上下载好maven压缩包,然后解压到磁盘下无中文的目录,然后配置maven环境
-
配置MAVEN_HOME
- 将maven解压后的目录添加到MAVEN_HOME
-
追加Path
- 将MAVEN_HOME的bin目录加入Path目录
-
测试安装
- 打开cmd,输入mvn -v命令查看是否安装成功
-
-
-
maven项目的子目录
-
maven项目有以下几个目录
-
src\main\java ,用来存放项目的java源码
-
src\main\resources ,用来存放项目的相关资源文件(配置文件等)
-
src\test\java ,用来存放项目的测试java源码
-
src\test\resource ,用来存放运行测试代码所用的依赖资源文件
-
还有个pom.xml文件,该文件配置maven管理的所有内容
-
-
-
maven插件
-
maven-complie 插件可以完成编译任务
-
maven-clean 插件可以删除构建项目产生的输出目录
-
-
maven的仓库
-
maven本地仓库
- 需要插件时先从本地仓库查找仓库,该仓库位置可以修改
-
maven私服仓库
- 公司一般构建项目需要的插件
-
maven中央仓库
- 如果本地没有插件则去远程的仓库下载
-
-
依赖配置
-
maven的依赖配置是在pom.xml中
<dependencies> <dependency> <groupId>...</groupId> <artifactId> ... </artifactId> <version>...</version> <type>...</type> <scope>...</scope> <optional>...</optional> <exclusions> <exclusion>...</exclusion> </exclusions> </dependency> ... </dependencies>
-
groupId、artifactId、version:依赖的基本坐标,maven根据这个坐标寻找插件
-
scope:限定依赖的作用范围
-
complie 编译依赖范围 默认依赖,该范围对编译测试运行三种classpath都有效
-
test 测试依赖范围 该范围对测试classpath有效,编译或运行项目时,这种依赖无效
-
provided 已提供依赖范围 该范围只作用与编译和测试有效,运行是无效的,因为有的容器自带了插件,再使用的话可能因为版本不一致产生冲突
-
runtime 运行时依赖 作用范围只对测试和运行产生作用,编译主代码时是无效的
-
system 系统依赖,此依赖作用范围和provided一样,但使用system时必须要指定依赖文件的路径,此依赖不是通过maven仓库解析的,是本地环境
-
-
-