1,Maven的概念:

    是一个项目管理工具.它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),
    和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

2,Maven 的两个经典作用:

    Maven 的一个核心特性就是依赖管理。maven 工程中不直接将jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需jar 包的坐标,这样就很好的避免了jar 直接引入进来,在需要用到jar 包的时候,只要查找pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些jar 包,再把这些jar 包拿去运行。

    Maven 的另一个核心特性就是项目的一键构建。指的是项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理。

3,Maven仓库的分类:

本地仓库 :

用来存储从远程仓库或中央仓库下载的插件和jar 包,项目使用一些插件或jar 包, 优先从本地仓库查找。默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示windows 用户目录。

远程仓库:

如果本地需要插件或者jar包,本地仓库没有,默认去远程仓库下载。远程仓库可以在互联网内也可以在局域网内。

中央仓库 :

在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包含了世界上大部分流行的开源项目构件。

4,Maven常用命令

4.1    clean
mvn clean 是maven 工程的清理命令,执行 clean 会删除target 目录及内容。
4.2    compile
mvn compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
4.3    test
mvn test 是maven 工程的测试命令,会执行src/test/java 下的单元测试类。
4.4    package
mvn package 是maven 工程的打包命令,对于java 工程执行package 打成jar 包,对于web 工程打成war包。
4.5    install
install 是maven 工程的安装命令,执行install 将maven 打成jar 包或 war 包发布到本地仓库。
注意:    当后面的命令执行时,前面的操作过程也都会自动执行

5,Maven 指令的生命周期

    maven 对项目构建过程分为三套相互独立的生命周期,这三套生命周期“相互独立”,分别是:
        Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
        Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
        Site Lifecycle 生成项目报告,站点,发布站点。

6,坐标定义

在pom.xml 中定义坐标,内容包括:groupId、artifactId、version,详细内容如下: 

<!--项目名称,定义为组织名+项目名,类似包名-->
    <groupId>cn.maven</groupId>
    <!-- 模块名称 -->

    <artifactId>maven-first</artifactId>
    <!-- 当前项目版本号,snapshot 为快照版本即非正式版本,release 为正式发布版本 -->

    <version>0.0.1-SNAPSHOT</version>
    <packaging > :打包类型
    jar:执行package 会打成jar 包
    war:执行package 会打成war 包
    pom :用于maven 工程的继承,通常父工程设置为pom