Maven是什么

  maven是基于项目对象模型(pom:project object model),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具。对依赖关系的特性进行细致的分析和划分,避免开发过程中的依赖混乱和相互污染的行为。

Maven生命周期

  maven把项目的构建划分为不同的生命周期,粗略来看包括:编译,测试,打包,集成测试,验证,部署。maven中的所有执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就按照过程的发展依次调用这些goal进行各种处理,maven同样提供了配置文件,可以跳过某些阶段。

Maven的工程结构

pom.xml(maven核心配置文件)

src

main

  java(java源代码目录)

    resources(资源文件目录)

test

  java(单元测试代码目录)

target(输出目录,所有的输出都在这个目录下)

  classes(编译后的class文件存放处)

Maven的版本规范

groudId:团体,组织的标识符,一般以逆向域名开头

artifactId:单独项目的唯一标识符,不要再里面包含(.)

version:一个项目的特定版本,groupId,artifactId,version唯一标识一个maven项目

SNAPSHOT:开发过程中不稳定的版本

LATEST:指某个特定构建的最新发布,可能是发布版,也可能是snapshot,看哪个时间最晚

RELEASE:最后一个发布版

Maven一些其他的元素

(1)packaging:项目打包后输出的类型,类型为war的项目产生一个web应用

(2)dependencies和dependency:Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。

  说道这里必须说下:本地仓库和远程仓库和私服;本地仓库配置到"%MAVEN_HOME%\conf\settings.xml"中找localRepository。默认是~/.m2/repository;私服配置:一般都在自己的~/.m2/settings.xml中配置;远程仓库:一般是maven的核心仓库,maven安装的时候有默认的路径:http://repo.maven.apache.org/maven2

  Maven工程首先会从本地仓库中获取jar包,当无法获取到jar包时,本地仓库将从私服中下载jar包,如果私服中也没有的话,将从远程仓库获取,并缓存至私服,并放到本地仓库中以备用。

如:

<dependencies>

        <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
</dependencies>

  groupId,artifactId,version唯一标识一个maven项目,有了这三个元素,Maven会先去本地仓库找对应的jar包,没有找到再去私服找,没有找到再去远程仓库中下载jar包到本地仓库中。

(3)properties

  用来定义配置属性,比如构建源码编码方式,构建版本号。

(4)build:表示与构建相关的配置,代码checkStyle就是在这里配的

maven入门-- part1 简介的更多相关文章

  1. Maven入门之简介与安装

    一.Maven简介 1.什么是Maven? Maven是一个项目管理工具和集成编译工具,它主要包含如下内容: –一个项目对象模型(Project Object Model), –一组标准集合, –一个 ...

  2. Maven学习专题--Maven入门及安装

    因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...

  3. Maven入门指南

    Maven入门指南 本指南旨在第一次为使用Maven的人员提供参考,但也打算作为一本包含公共用例的独立参考和解决方案的工具书.对于新用户,建议您按顺序浏览该材料.对于更熟悉Maven的用户,本指南致力 ...

  4. Maven入门指南:仓库

    1 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理.Maven 使用一个称之为仓库的目录,根据构 ...

  5. Maven入门详解

    什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...

  6. Maven 入门 (2)—— 创建Maven项目

    http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...

  7. Maven 入门 (1)—— 安装

    Maven 入门 (1)—— 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...

  8. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  9. maven 入门

    Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...

随机推荐

  1. 异步发送表单数据到JavaBean,并响应JSON文本返回

    1)  提交表单后,将JavaBean信息以JSON文本形式返回到浏览器 <form> 编号:<input type="text" name="id&q ...

  2. EclipseADT编写单元测试代码的步骤

    1. 写一个类 extends AndroidTestCase 2. 写一个测试方法    a.必须是public     b.必须抛出异常给操作系统 public void textAdd()thr ...

  3. egg源码浅析一npm init egg --type=simple

    要egg文档最开始的时候,有这样的几条命令: 我们推荐直接使用脚手架,只需几条简单指令,即可快速生成项目: $ mkdir egg-example && cd egg-example ...

  4. 005-文件权限解说、授权chmod和chown命令的用法

    一.文件权限说明 1.1.linux 中 drwxr-xr-x权限含义 在 linux drwxr-xr-x意思如下: 第一位表示文件类型.d是目录文件,l是链接文件,-是普通文件,p是管道. 后面的 ...

  5. 小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析

    笔记 3.高级篇幅之Zuul常用问题分析和网关过滤器原理分析 简介:讲解Zuul网关原理和过滤器生命周期,           1.路由名称定义问题         路由映射重复覆盖问题        ...

  6. spring boot系列(七)spring boot 使用mongodb

    1 pom.xml配置 增加包依赖:spring-boot-starter-data-mongodb <dependency> <groupId>org.springframe ...

  7. mysql锁表机制分析

    http://blog.csdn.net/u010942020/article/details/51925653

  8. Java集合(4):未获支持的操作及UnsupportedOperationException

    执行各种添加和移除的方法在Collection中都是可选操作的,这意味着实现类并不需要为这些方法提供实现.当我们调用这些方法时,将不会执行有意义的行为,而是通常抛出UnsupportedOperati ...

  9. Jenkins - Tips

    01 - RPM包安装方式 默认路径 配置文件:/etc/sysconfig/jenkins 日志文件:/var/log/jenkins/jenkins.log 执行文件:/usr/lib/jenki ...

  10. D3画完整柱状图(带坐标轴、标签)

    昨天晚上本来打算花一点时间把之前学的柱状图改一下,用CSV文件来替换自定义数据.这一替换可不得了,一晚上就搭进去了,还好今早找到了问题的所在,原因在于我的数据引用出了问题. 现在就来讲解一下如何画一个 ...