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. sql查询用nolock

    大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的. 什么是并发访问:同一时间有多个用户访问同一资源,并发 ...

  2. 在javascript中NodeList和Array的区别及转换方法

    随着深入理解javascript 后对于一些小知识的了解慢慢加深,这里说的是关于nodelist和array的区别,相信你一定用过toarray()方法,但是这里通过js 的方法讲解nodelist ...

  3. Java版斯诺克开源分享

    Java版斯诺克开源分享 这个小程序是我平时无聊写着玩的,在网盘里躺了好久了,今天就把它拿出来跟大家分享一下,下面是游戏截图: 请不要吐槽这个界面,斯诺克的球台是我从qq游戏里面截取的... 下面是源 ...

  4. Powershell Get Domain User的几种方法

    一.Get-User单用户查询 $User=Get-ADUser -identity wendy -Properties * 二.Get-User多用户循环查询 $export=@() $Users= ...

  5. Powershell About Active Directory Server

    一.获取域控制器服务器清单 (Get-ADForest).Domains | %{ Get-ADDomainController -Filter * -Server $_ } | select hos ...

  6. Logon Session Times

    How to Get User Logon Session Times from the Event Log To figure out user session time, you’ll first ...

  7. dev grid 常用方法

    绑定数据源 public void Data(){DataTable td = new DataTable();DataRow row = td.NewRow();foreach (GridColum ...

  8. 深入理解Java内存模型之系列篇

    深入理解Java内存模型(一)——基础 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来 ...

  9. java中的System.copyof()与Array.copyof()区别

    java中的System.copyof()与Array.copyof()区别 在复制数组时我们可以使用System.copyof(),也可以使用Array.copyof(),但是它们之间是有区别的.以 ...

  10. 转!!Java设置session超时(失效)的时间

    Java设置session超时(失效)的时间   在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session具体设置的方法有三种:1 ...