maven入门-- part1 简介

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%confsettings.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就是在这里配的

原文地址:https://www.cnblogs.com/jijiji/p/6939542.html