MAVEN的基本概述

Maven是一款项目管理工具

依赖(jar包的)管理

依赖管理,即maven工程对jar包的管理过程。

传统的项目是将jar包跟其他文件打包放在一起,当项目多了,就会导致工程体积很大。因为每个项目里都要放需要的jar包,即使这些jar包有很多重复的。

在maven工程中,不会将jar包直接放在项目中,而是有一个单独的【jar包仓库】,会将所有需要的jar包放在仓库里,项目需要的时候会通过【jar包的坐标】去仓库中查找。这样就会大大减少重复jar包带来的体积冗余。(共享的思路)

 

依赖管理是maven的核心。

项目的一键构建

指的是maven自身集成了tomcat、jetty等插件,可以将项目的编译、测试、运行、打包、安装 、部署整个过程都交给 maven 进行管理,这个过程称为构建。

一键构建指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作(不用一步一步地走)

一键构建并不是必须的,我们仍然可以使用本地安装的tomcat来对项目进行构建。

maven解压后的目录

maven下载后解压,再进行一些配置即可使用。

各目录存放内容如下:

  • bin:存放了 maven 的命令,比如我们前面用到的 mvn tomcat:run
  • boot:存放了一些 maven 本身的引导程序,如类加载器等
  • conf:存放了 maven 的一些配置文件,如settings.xml文件
  • lib:存放了 maven 本身运行所需的一些jar包
  • 至此我们的maven软件就可以使用了,前提是你的电脑上之前已经安装并配置好了JDK

maven环境变量的配置

  • 先新建一个环境变量MAVEN_HOME,并填写存放路径
  • 再在PATH中引用bin目录
  • 在DOS窗口中输入mvn -v,如果出来以下内容,则表示配置成功

 

仓库的种类和彼此关系

maven的默认本地jar包仓库在哪呢?找到安装目录下-->conf-->settings.xml中,这样的一段:

这个位置就是安装了maven后会自动创建的一个【本地仓库】,初始时没有任何jar包。

maven工程中并没有放置jar包,只是配置了jar包的坐标-->当启动了maven工程时,maven工程通过pom.xml中的坐标去本地仓库调用jar包-->默认情况下,如果没有,仓库会通过网络去【中央仓库】自动下载jar包。(如果没有联网就会报错)

中央仓库中几乎放置了所有开源的jar包,但实际上我们用不了那么多jar包。通常公司会单独创建一个属于自己的仓库,叫做【远程仓库】,也叫做【私服】,同理,如果没有也可以从中央仓库下载,或者从本地上传。

如何更改本地仓库的路径?通过刚才默认路径下的那行标签来更改,将该标签体复制出注释,并将标签体改成目标路径即可。

注意:要将jar包所在的目录直接放到定义的目录下,不要隔层,否则找不到。

maven工程的标准目录结构

一个项目通常会由四个部分组成:

  • 核心代码部分
  • 配置文件部分
  • 测试代码部分
  • 测试配置文件

在传统的工程中,只有一个src目录,虽然可以再创建目录,但是并没有统一规范,所以存在一定的缺陷。

在maven工程中,如果创建了一个java项目,会有以上四个目录,如果是web项目,会再多一个,总共有五个:

  • src/main/java目录,放置核心代码
  • src/main/resources目录,放置配置文件
  • src/main/webapp目录,放置页面资源如js,css,图片等
  • src/test/java目录,测试代码部分
  • src/test/resources目录,测试配置文件

常用命令

mvn clean,清除target目录

mvn compile,编译,在工程目录中生成target目录,main目录中的java文件会被编译并放到target目录下的classes目录下。

mvn test,测试,执行该命令会编译test目录下的java文件,并放到target目录下的test-classes目录中。该命令会同时将main目录下的代码也进行编译。

执行上面三个代码后生成的target目录内容如下:

mvn package,将项目打包成war格式,该命令会完成上两个命令的事情。另外,默认打包格式可以设置,在项目的pom.xml配置文件中指定,pom.xml文件用来配置项目所需的依赖jar包的坐标和相关插件,第一个坐标是本项目自身的坐标,将来如果项目被打包成jar包,就可以通过这个坐标找到该项目。(通常打的包在target目录下能找到,可以发布到正式的服务器上去运行)。

mvn install,安装部署,在前面的基础上,将项目打包成jar包,安装到本地仓库。

mvn deploy,发布项目到私服,包含前面从compile开始的步骤。在执行该命令前需要进行一些配置。

maven生命周期

clean的过程称为清理生命周期。

compile-->test-->package-->install-->deploy这个过程被称为【默认生命周期】。每一个环节都会包含前面所有的环节。这就是maven的优势所在,一键构建。

maven概念模型图

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值