1 What?

1.1 Maven 简介Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理。Maven 这个单词的本意是:专家,内行。读音是['meɪv(ə)n]或['mevn]。

1.2 构建过程的几个主要环节

①清理:删除以前的编译结果,为重新编译做好准备。

②编译:将 Java 源程序编译为字节码文件。

③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。

④报告:在每一次测试后以标准的格式记录和展示测试结果。

⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。

⑥安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。

⑦部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。

1.3 Maven 核心概念Maven 能够实现自动化构建是和它的内部原理分不开的,

①POM②约定的目录结构③坐标④依赖管理⑤仓库管理⑥生命周期⑦插件和目标⑧继承⑨聚合

2 how?

Maven 的核心程序中仅仅定义了抽象的生命周期,而具体的操作则是由 Maven 的插件来完成的。可是Maven 的插件并不包含在 Maven 的核心程序中,在首次使用时需要联网下载。下载得到的插件会被保存到本地仓库中。本地仓库默认的位置是:~\.m2\repository。

3 约定的目录结构

约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须能找到 Java 源文件,下一步才能编译,而编译之后也必须有一个准确的位置保持编译得到的字节码文件。我们在开发中如果需要让第三方工具或框架知道我们自己创建的资源在哪,那么基本上就是两种方式:①通过配置的形式明确告诉它②基于第三方工具或框架的约定Maven 对工程目录结构的要求就属于后面的一种。

JAVA工程

web工程

4 POM

Project Object Model:项目对象模型。将 Java 工程的相关信息封装为对象作为便于操作和管理的模型。Maven 工程的核心配置。

5 坐标

5.1 几何中的坐标[1]在一个平面中使用 x、y 两个向量可以唯一的确定平面中的一个点。[2]在空间中使用 x、y、z 三个向量可以唯一的确定空间中的一个点。

6.2 Maven 的坐标使用如下三个向量在 Maven 的仓库中唯一的确定一个 Maven 工程。

[1]groupid:公司或组织的域名倒序+当前项目名称

[2]artifactId:当前项目的模块名称

[3]version:当前模块的版本com.java.mavenHello0.0.1-SNAPSHOT

6.3 如何通过坐标到仓库中查找 jar 包?

[1]将 gav 三个向量连起来com.java.maven+Hello+0.0.1-SNAPSHOT

[2]以连起来的字符串作为目录结构到仓库中查找com/java/maven/Hello/0.0.1-SNAPSHOT/Hello-0.0.1-SNAPSHOT.jar

※注意:我们自己的 Maven 工程必须执行安装操作才会进入仓库。安装的命令是:mvn install

Maven的简介的更多相关文章

  1. Java-Maven(一):Maven的简介与安装

    Maven的简介 Maven是什么? Maven是一个项目管理和整合的工具.Maven为开发者提供了一套完整的构建生命周期框架.开发者可以通过Maven更快的自动完成工程的基础构建陪孩子,因为Mave ...

  2. Maven工具-简介

    Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 [1]概念:以"java源文件"." ...

  3. Maven Wrapper简介

    文章目录 简介 Maven Wrapper的结构 下载Maven Wrapper 使用 Maven Wrapper简介 简介 开发java项目少不了要用到maven或者gradle,对比gradle而 ...

  4. 2、Maven的简介和配置

    1.下载Maven  apche-maven-3.5.2 2. 三.maven简介 1.基于Ant的构建工具,Ant有的功能Maven都有,额外添加了其他的功能 2.运行原理图 2.1本地仓库:计算机 ...

  5. 搭建maven项目简介

    http://jingyan.baidu.com/album/9f7e7ec0b714ae6f29155465.html?picindex=1 Maven学习 (一) 搭建Maven环境 http:/ ...

  6. Maven学习-简介、安装

    Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目声明周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑.Maven采用了约定优于配置这一基本原则.在没有自 ...

  7. Maven Archetype简介以及搭建

    为什么会写这篇文章,因为公司先在构建项目骨架都是用的 maven archetype ,身为一个上进的渣渣猿,自己还是有必要了解下这个东西的. Archetype介绍 Archetype 是一个 Ma ...

  8. Maven实战(九)Maven仓库简介

    目录 一.作用 Maven仓库分为本地仓库和远程仓库,集中存放项目引用的jar包,无需将jar包放在程序中,结合Maven项目的pom.xml,使得项目管理jar包更容易,有以下几个优点: 对于项目来 ...

  9. Maven仓库搭建--nexus私服

    Maven仓库搭建--nexus私服(Linux环境) Maven仓库简介 Maven仓库分为本地仓库.远程仓库.私服.本文重点介绍私服的使用方法. 下载安装包 网址:http://www.sonat ...

随机推荐

  1. linux 环境 tomcat 莫名奇妙挂掉

    ::-exec-] org.apache.coyote.http11.Http11Processor.service Error processing request java.lang.NullPo ...

  2. Android UI开发第三十六篇——使用Volley加载图片列表

    Android开发者可能会使用Universal Image Loader或者Square`s newer Picasso这些第三方的库去处理图片的加载,那么Volley是怎么加载图片列表的呢,这一篇 ...

  3. 模态窗口原理及注意事项--http://www.alisdn.com/wordpress/?p=53

    前言 在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口.在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替 ...

  4. AVCaptureInput和AVCaptureOutput子类

    1.AVCaptureInput AVCaptureDeviceInput:用于从AVCaptureDevice对象捕获数据. AVCaptureScreenInput:从macOS屏幕上录制的一种捕 ...

  5. 3.php数据类型中NULL,"",0的比较

    <?php //赋值 $some1 = NULL; $some2 = 0; $some3 = ""; //0与NULL比较 echo $some1==$some2; echo ...

  6. jq左右按钮点击幻灯片

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. Java 常用工具类之 String 类

    String 类的特点: 字符串对象一旦被初始化就不会被改变. //以下代码的区别: String s = "abc"; // 在常量池中创建一个字符串对象, 池中没有就建立, 池 ...

  8. List、Map、Set三个接口,存取元素时,各有什么特点?

    List与Set都是单列元素的集合,它们有一个功共同的父接口Collection. Set里面不允许有重复的元素, 存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法 ...

  9. 详解Bootstrap下拉菜单组件

    bootstrap框架中的下拉菜单组件是一个独立的组件,根据不同的版本,他对应的文件: less 对应的源码文件为:dropdowns.less sass对应的源码文件为:_dropdowns.scs ...

  10. ViewConfiguration 和 ViewConfigurationCompat

    Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 一.几个常用的方法 ...