Maven学习

一.maven是什么?

maven是一款自动化构建工具,专注服务与java平台的项目构建和依赖管理

二.为什么使用Maven?

    2.1.maven可以添加第三方jar包,最原始的做法就手动复制jar包到项目Web INF Leap下,每个项目都会有一份,造成大量重复文件,meven将jar包放在本地仓库中统一管理,需要jar包只需要用坐标的方式引用即可

    2.2.jar包之间是相互独立的,很多jar包需要在其他jar包的支持下才能正常工作,称为jar包之间的依赖关系,如果手动导入是十分麻烦且容易出错的,使用maven会将当前jar依赖的所有jar包全部导入

三.使用Maven

3.1.安装并且配置maven环境  

下载地址:Maven – Welcome to Apache Maven

因为maven底层使用java语言编写,所以需要配置JAVA_HOME环境变量及Path

将maven解压到非中文无空格目录下

3.2.配置环境变量(前提是已经安装并配置了JDK)

此电脑→属性→高级系统设置→环境变量

再去path中添加配置bin目录

3.3.用cmd命令行输入mvn -v看看有没有配置成功:

3.4.修改阿里云镜像

找到下载maven文件目录,找到settings.xml(conf中)文件,用记事本打开

<mirror>
      <id>alimaven<id>
      <mirrorof>*</mirrorof>
<url>https://maven.apache.org/index.html</url>
     </mirror>

3.5.新建jar包目录

maven配置文件位置:maven根目录/conf/settings.xml

设置本地仓库【默认:C:/用户家目录/.m2/repository】

自定义创建目录,把它当作我后面下载jar包的目标路径

3.6.修改刚刚打开的settings.xml将设置的repository地址粘贴进去

3.7.将maven整合到IDEA中

3.8.在IDEA中新建maven工程

新建java或maven都可以

组id一般是com.公司名.项目名

工件id与名称一致

四.maven的核心概念

4.1Maven的POM

POM全称:Project Object Model【项目对象模型】,将项目封装为对象模型,便于使用Maven管理【构建】项目

4.2Maven约定的目录结构

4.3Maven的生命周期

生命周期:maven构建项目的过程:清理,编译,测试,报告,打包,安装,部署

命令:

mvn clean  :清理

mvn compile :编译src/main/java目录中的程序,把java编译成class文件,并放到target/classes目录中,同时会把src/main/resources/目录中的文件拷贝到target/classes目录中

mvn test-compile :编译src/main/test目录中的java程序,拷贝到target/test-classes目录中

 mvn test :可以进行单元测试,使用junit测试src/main/java目录中的程序是否符合要求

mvn package :把程序中src/main/下面的java编译后的class以及resources中的配置文件放入到一个压缩文件中

mvn install :把jar,war安装到本机的仓库中

mvn deploy::部署

五.Maven的仓库【重要】

本地仓库:本地仓库是存储在本地磁盘上的仓库,它是默认的仓库类型。当Maven在执行构建时,会在本地仓库中查找所需的依赖项和插件。如果本地仓库中不存在所需的依赖项或插件,Maven会从远程仓库下载并将其存储在本地仓库中。本地仓库的位置可以在Maven的配置文件(settings.xml)中进行配置。

远程仓库:远程仓库是存储在网络上的仓库,可以由中央仓库、私服仓库和其他公共远程仓库等组成。当Maven在本地仓库中找不到所需的依赖项或插件时,它会从远程仓库中下载。远程仓库的位置需要在Maven的配置文件中进行配置。

     私服:这是一个在公司内部使用的仓库,其作用是保存具有版权的资源,包括购买或自助研发的jar包。私服仅对内部开放,不对外部开放。私服可以作为公司内部构件的共享存储库,也可以作为公用类库的镜像缓存,减少对外部的访问和下载的频率,提高构建效率,并保证公司内部项目的构件一致性。

     中央仓库:这是由Maven团队维护的仓库,它存储了大量的jar包,服务于整个互联网。中央仓库中的jar包都是开放的,不能存储具有版权的资源。

     中央仓库的镜像:架设在各个大洲,为中央仓库分担流量,减轻中央仓库的压力,同时更快相应用户请求

六.Maven的坐标【重要】

作用:使用坐标引入jar包
坐标由g-a-v组成
[1]groupld:公司或组织的域名倒序+当前项目名称

[2]artifactld:当前项目的模块名称
[3]version:当前模块的版本
注意
   g-a-v:本地仓库jar包位置
   a-v:jar包全名
坐标应用

  坐标参考网址:https://mvnrepository.com/

语法:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值