我是靠谱客的博主 野性柠檬,最近开发中收集的这篇文章主要介绍深入学maven(通俗易懂),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、为什么使用Maven这样的构建工具【why】

① 一个项目就是一个工程

  如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。

  借助于maven就可以将一个项目拆分成多个工程

② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中

  同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。

  借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。

③ jar包需要的时候每次都要自己准备好或到官网下载

  借助于maven我们可以使用统一的规范方式下载jar包,规范

④ jar包版本不一致的风险

  不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。

  借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。

⑤ 一个jar包依赖其他的jar包需要自己手动的加入到项目中

  FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar

  极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。

  借助于maven,它会自动的将依赖的jar包导入进来。


二、maven是什么【what】

① maven是一款服务于java平台的自动化构建工具

  make->Ant->Maven->Gradle

  名字叫法:我们可以叫妹文也可以叫麦文,但是没有叫妈文的。

② 构建

  构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。

  √ 编译:java源文件[.java]->编译->Classz字节码文件[.class]

  √ 部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件

③ 构建的各个环节

  [1] 清理clean:将以前编译得到的旧文件class字节码文件删除

  [2] 编译compile:将java源程序编译成class字节码文件

  [3] 测试test:自动测试,自动调用junit程序

  [4] 报告report:测试程序执行的结果

  [5] 打包package:动态Web工程打War包,java工程打jar包

  [6] 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置

  [7] 部署deploy:将动态Web工程生成的war包复制到Servlet容器下,使其可以运行

常用maven命令

  [1] mvn clean:清理 

  [2] mvn compile:编译主程序

  [3] mvn test-compile:编译测试程序

  [4] mvn test:执行测试 

  [5] mvn package:打包

  [6] mvn install:安装


三套生命周期


     对于maven的生命周期来说,共有三个相互独立的生命周期,分别是clean、default、site。clean生命周期目的是清理项目,default生命周期目的是构建项目,而site生命周期目的是建立项目站点。
     每个生命周期分别包含一些阶段,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段。如clean生命周期包含pre-clean、clean和post-clean三个阶段,如果执行clean阶段,则会先执行pre-clean阶段。
     较之于生命周期阶段有前后依赖关系,三套生命周期本身是相互独立的,用户可以仅调用clean生命周期的某个阶段,也可以不执行clean周期,而直接执行default生命周期的某几个阶段。




最后

以上就是野性柠檬为你收集整理的深入学maven(通俗易懂)的全部内容,希望文章能够帮你解决深入学maven(通俗易懂)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部