欢迎光临
我们一直在努力

maven详解

   2020年的春节有点特殊,全国人民全都宅家抗击疫情,一场没有硝烟的战争在寂静中进行得异常激烈,处在核心战场湖北的我肯定要24小时坚守在自己的阵地里,无非就是在家睡觉吃饭,坚决不出门。但时间久了,自然无聊得紧。于是开始写这篇关于maven的文章。

   在此之前如果有人问我,maven 是什么?我的概念就是帮我们管理jar的,其他的知之甚少。本着知其然知其所以然的态度,我觉得有必要对其有个全面的认识。

二,什么是maven 

 

 Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理的工具

  *项目构建:是指项目的清理、编译、测试到生成报告,再到打包和部署。

  *依赖管理:对jar依赖包的管理

  *项目信息管理:管理原本分散在项目各个角落的项目信息

 

二,maven的作用   

maven这个中间件设计的理念就相当于是个仓库,仓库放的就是各种各样的架包,供所每个所需要jar文件的项目来调用其中的jar文件;

(当a依赖b依赖时,如果添加依赖a,maven会自动添加依赖b)

 

三,maven仓库

上面我们说maven相当于是个仓库,我们就来说说maven库;maven库分为本地仓库远程仓库; 而远程仓库又分为:中央仓库、私服、其他公共远程仓库;

 

当maven根据坐标寻找构件的时候,会首先查看本地仓库,如果本地仓库存在,则直接使用;如果本地不存在,maven会去远程仓库中查找,如果找到了,会将其下载到本地仓库中进行使用,

如果本地和远程仓库都没有找到构件,maven会报错,构件只有在本地仓库中存在了,才能够被maven项目使用。

 

我们每个人都需要从远程仓库中把需要依赖的构件下载到本地仓库,这对公司的网络要求也比较高,为了节省这个宽带和加快下载速度,我们在公司内部局域网内部可以架设一台服务器,这台服务器起到一个代理的作用,公司里面的所有开发者去访问这个服务器,这台服务器将需要的构建返回给我们,如果这台服务器中也没有我们需要的构建,那么这个代理服务器会去远程仓库中查找,然后将其先下载到代理服务器中,然后再返回给开发者本地的仓库。

 

总体上来说私服有以下好处:

 其他远程仓库

中央仓库是在国外的,访问速度不是特别快,所以有很多比较大的公司做了一些好事,自己搭建了一些maven仓库服务器,公开出来给其他开发者使用,比如像阿里、网易等等,他们对外提供了一些maven仓库给全球开发者使用,在国内的访问速度相对于maven中央仓库来说还是快了不少。

 

中央仓库、

中央仓库是Maven配置文件中默认的仓库地址,如果用户没有修改仓库配置,那么Maven默认会从中央仓库下载依赖。

中央仓库有几个特点:

 

四,maven之POM

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构件,声明项目依赖,等等。比如我们需要把项目打成jar包,采用java -jar去运行这个jar包,那这个值为jar;若当前是一个web项目,需要打成war包部署到tomcat中,那这个值就是war。

我们在项目中需要用到maven帮我们解决jar包依赖问题,帮我们解决项目中的编译、测试、打包、部署时,项目中必须要有pom.xml文件,这些都是依靠pom的配置来完成的。

 

五,maven之生命周期

我们开发一个项目的时候,通常有这些环节:创建项目、编写代码、清理已编译的代码、编译代码、执行单元测试、打包、集成测试、验证、部署、生成站点等,这些环节组成了项目的生命周期,这些过程也叫做项目的构建过程,几乎所有的项目都由这些环节中的其中几个,创建项目和编写代码是我们程序员需要多参与的,其他的都可以做成自动化的方式。

maven约定好了项目的结构,源码的位置、资源文件的位置、测试代码的位置、测试用到的资源文件的位置、静态资源的位置、打包之后文件的位置等,这些都是maven约定好的。

maven生命周期,主要被用于构建应用,有多个阶段,常用的有:

 

 

 

maven之插件

插件的特点

    1.maven插件主要是为maven中生命周期中的阶段服务的,maven的生命周期中有哪些阶段,具体每个阶段中执行什么操作,完全是交给插件去干的。

    2.maven中的插件就相当于一些工具,比如编译代码的工具,运行测试用例的工具,打包代码的工具,将代码上传到本地仓库的工具,将代码部署到远程仓库的工具等等,这些都是maven中的插件。

    3.插件可以通过mvn命令的方式调用直接运行,或者将插件和maven生命周期的阶段进行绑定,然后通过mvn 阶段的方式执行阶段的时候,会自动执行和这些阶段绑定的插件。

    4.maven中的插件以jar的方式存在于仓库中,和其他构件是一样的,也是通过坐标进行访问。

在pom.xml文件里插件在build->plugins->plugin中配置,列如:

 

maven着实强大,以上的内容也算是对maven的有个基本的了解了。

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《maven详解》
文章链接:https://www.456zj.com/38506.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址