一文带你完全搞懂 Maven

一文带你完全搞懂 Mavenjava

在刚学maven时,我就把maven看成一个引入jar包的工具而已,之前是本身下载jar包,如今是只用在pom文件中填写相应的坐标就能够了。除此以外当咱们须要使用的jar包依赖于另外一个jar包时,maven会自动帮咱们引入适用的版本。这就避免了咱们本身下jar包,而后版本不匹配的问题。除此以外,我还模糊的知道一些maven的聚合和继承,以后在接手项目的时候仍是吃了的大亏。因而打算从新学习一下maven。程序员

      maven是什么web

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of informationmaven

Maven 的定位工具

多数博客或者视频都将maven定义为自动化构建工具。那什么是自动化构建工具呢?咱们首先来解释构建:学习

  • 一个BS项目最终运行的并非动态web工程自己,而是这个动态web工程“编译的结果”
  • 将java源文件变成字节码,交给JVM去执行
  • 编译
  • 部署

构建各个过程的步骤:测试

  • 清理: 将之前编译获得的旧字节码删除掉
  • 编译: 将java源代码变成字节码
  • 测试: 执行test文件夹中的测试程序
  • 报告: 显示测试程序执行的结果
  • 打包: 动态Web工程打成war包,Java工程打成jar包
  • 安装: Maven的特定概念---将打包获得的文件复制到"仓库"中指定的位置
  • 部署: 将动态Web工程生成的war包复制到Servlet容器中指定的目录下,使其能够运行
  • 自动化构建,其实上述步骤,在 elipse 和 IDEA 中也能够完成,只不过没那么标准。既然 IDE 已经能够完成这些工做了,那么还要 maven 干什么呢?

平常开发中,如下几个步骤是咱们常常走的:ui

  • 编译
  • 打包
  • 部署
  • 测试orm

这几个步骤是程式化的,没有太大的变数或者说根本就没有变数。程序员们很但愿从这些重复的工做中脱身出来,将这些重复的工做交给工具去作。此时Maven的意义就体现出来了,它能够自动的从构建过程当中的起点一直执行到终点。视频

    maven 的核心概念
**

POM

POM: a project object model. 项目对象模型。对这个概念老实说,我并无很深的理解,或者说我并不理解项目对象模型的意思。

有资料说项目对象模型就是将 Java 工程的相关信息封装为对象便于操做和管理的模型。

这个解释的稍微让人那么容易那么一点。学习 Maven 就是学习 pom.xml 文件中的配置。

坐标

坐标这个概念我以为和依赖结合起来解释会更好,在没有Maven以前,咱们引入jar包的方式就是先下载,
而后在复制在类文件路径下,你的项目须要的jar包,在Maven看来就是你的项目依赖于某些jar包,pom.xml文件中填写对应jar包的位置,
就能够引入对应的 jar 包。使用以下三个向量在 Maven 的仓库中惟一的肯定一个 Maven 工程

**

相关文章
相关标签/搜索