Maven简介:
Maven是专门用于管理和构建java项目的工具,它的主要功能有:
提供了一套标准化的项目结构
标准化的项目结构:
Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
提供了一套标准化的构建流程(编译,测试,打包,发布.....)
Maven提供了一套简单的命令来完成项目构建
提供了一套依赖管理机制
依赖管理其实就是管理项目所依赖的第三方资源(jar资源,插件...
)
如下所示为我们常规的操作步骤:
需要导入的jar包少的情况下,也许你并不觉得麻烦,但是当需要导入的资源非常多的情况下,就会很麻烦:
而Maven使用标准的坐标配置来管理各种依赖,只需要简单的配置就可以完成依赖管理
Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档。
仓库分类:
本地仓库
:自己计算机上的一个目录
中央仓库
:由Maven团队维护的全球唯一的仓库
远程仓库(私服)
:一般由公司团队搭建的私有仓库
当项目中使用坐标引入对应的java包后,首先会查找本地仓库中是否有对应的jar包:
如果有,则在项目直接引用;
如果没有,则去中央仓库中下载对应的jar包到本地仓库
还可搭建远程仓库,将来的jar包的查找顺序则变为:
本地仓库—–>远程仓库—–>中央仓库
Maven安装配置:
1:解压Apache-maven-3.6.1.rar,安装完成
maven安装包获取:
链接:https://pan.baidu.com/s/11IyBxp64zwAf9UpO7gT0mA?pwd=xjoy
提取码:xjoy
2:配置环境变量MAVEN_HOME为安装路径的bin目录
第一步:
第二步:
在系统变量中,找到path,新建环境变量:
新建环境变量为:%SystemRoot%\system32;%MAVEN_HOME%\bin
最后就是点击确定确定即可:
然后cmd命令:
打开—>输入:mvn -version;
注意:mvn和-中间有空格!分号不要忘记
出现上述界面,就证明成功啦,如果这里有小伙伴出现的是mvn是不可执行的程序…,那么可以尝试将path中的环境变量变为以下两种:
1:新建环境变量为:%MAVEN_HOME%\bin
2:新建环境变量为:maven的文件路径
3:配置本地仓库:修改conf/settings.xml中的
为指定目录
在maven文件夹中找到conf文件夹,打开找到settings,双击打开
下滑,找到下述标签:
别关!!!
继续下滑!
4:配置阿里云私服:修改conf/settings.xml中的
标签,为其添加如下子标签
内容如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/<url>
<mirrorOf>central</mirrorOf>
</mirrors>
到这里,就完成了安装和配置啦
Maven基本使用:
Maven常用命令:
compile:编译
clean:清理
test:测试
package:打包
install:安装
在IDE中配置maven:
点击file——>settings,搜索maven:
maven坐标:
maven中坐标是资源的唯一标识,使用坐标来定义项目或引入项目中需要的依赖
maven坐标主要组成:
groupld
:定义当前maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactld
:定义当前maven项目名称(通常是模块名称,例如:order-service,goods-service)
version
:定义当前项目版本号
IDE创建maven项目:
第一步:
第二步:
第三步:
第四步:
编写第一个maven文件:
IDE创建导入项目:
maven本身是不能进行断点调试的,但是我们可以安装插件:
使用坐标导入jar包:
手动
在pom.xml中编写<dependencies>
标签
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>
报红的[第一次在maven中使用mysql就会出现这种情况],点击install进行下载:
未显示下面这个的:
点击刷新试试:
快捷方式
在pom.xml中按alt+insert[有些电脑是alt+fn+insert],选择Dependency,么有这个选项的,选择下述这个
点击add:
标签中的内容自动为我们生成:
最后不要忘记点击刷新哈
自动
导入jar包的方式:
依赖范围:
通过设置坐标的依赖范围(scope),可以设置对应的jar包的作用范围:编译环境,测试环境,运行环境
<scope>
默认值:compile
compile
:为默认的依赖有效范围
如果在定义依赖关系的时候,没有明确指定依赖有效范围的话,则默认采用该依赖有效范围【此种依赖,在编译、运行、测试时均有效】
provided
:在编译、测试时有效,但是在运行时无效
例如:servlet-api,运行项目时,容器已经提供,就不需要Maven重复地引入一遍了
runtime
:在运行、测试时有效,但是在编译代码时无效
例如:JDBC驱动实现,项目代码编译只需要JDK提供的JDBC接口,只有在测试或运行项目时才需要实现上述接口的具体JDBC驱动
test
:只在测试时有效
例如:Junit
system
:在编译、测试时有效,但是在运行时无效
和provided的所不同的是,使用system范围的依赖时,必须通过systemPath元素,显式地指定依赖文件的路径。
因为此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用,systemPath元素可以引用环境变量
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81383.html