一、初识

一般工程的特点

20180731203204734.png
20180731203111525.png

什么是Maven

  1. Maven是一款服务于Java平台的自动化共建构建工具
  2. 构建
    通过各种代码图片等素材 > 编译 > 构建
  3. 构建的各个环节
    1. 清理 : 将以前的. class文件删除;
    2. 编译 : 将.java编译为.class字节码文件;
    3. 测试 : 自动测试,自动调用JUnitl;
    4. 报告 : 测试程序执行结果;
    5. 打包 : 动态Web工程打war包,java工程打为jar包;
    6. 安装 : Maven特定的概念--将打包的文件复制到"仓库"中指定的位置;
    7. 部署 : 将动态Web工程生成的war包复制到Servlet容器的指定目录下,使其可以运行;

Maven的核心概念

  1. 约定的目录结构
  2. POM
  3. 坐标
  4. 依赖
  5. 仓库
  6. 生命周期\插件\目标
  7. 继承
  8. 聚合

安装Maven核心程序

1. 下载Maven

maven下载

2. Maven环境变量配置

  • MAVEN_HOME
    • 解压后的文件路径
      例 : C:\Program Files\Java\apache-maven-x.x.x
  • path
    • 在原有的path中添加
      例 : %MAVEN_HOME%\bin\
  • 验证
    • CMD:mvn -v
      配置成功时,会返回如下(因电脑差异,会有细微区别)
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: C:\Program Files\Java\apache-maven-3.5.4\bin\..
Java version: 1.8.0_102, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_102\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Maven工程

创建Maven的目录

  1. 目录结构
    1. 根目录:工程名
    2. src目录:源码
    3. pom.xml文件:Maven工程的核心配置
    4. main目录:存放主程序
    5. test目录:存放测试程序
    6. java:.java源文件
    7. resources:各种配置文件
  2. 为什么要遵守这样的约定?
    1. Maven要负责工程的自动化构建,因为要根据这种约定找文件,才可以编译;
    2. 也可以自定义,但是要采取这两种方式:
      1. 以配置的方式明确
        classpath:spring-context.xm;
      2. 或者遵循默认的方式
        log4j.properties
    3. 默认:约定 > 配置 > 编码 (尽可能的使用默认配置,减少代码量)

常用的Maven命令

  • 注意:执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录
    与构建过程相关 : 编译 测试 打包 ...
  • 常用命令 :
    1. mvn clean : 清理
    2. mvn compile : 编译主程序
    3. mvn test-compile : 编译测试程序
    4. mvn test : 执行测试
    5. mvn package : 打包
    6. mvn install : 安装
    7. mvn site : 生成站点

关于源码和仓库

  1. Maven的核心程序只定义了抽象的生命周期,但是不提供你所需的插件
  2. 当执行Maven命令需要某些插件是,Maven核心程序回到本地仓库中查找
  3. 本地仓库默认位置 : c:Users\[登陆当前系统的用户名]\.m2\repository
  4. 如果找不到,它会自动连接外网,到中央仓库下载;
  5. 失败时,构建失败
  6. 修改默认仓库位置可以到事先准备好的路径进行加载.
    1. 解压路径 : conf\settings.xml
    2. xml中的标签中
    3. 替换标签内容为新仓库的绝对路径

POM

  • 含义 : Project Object Model
  • pom.xml 对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中配置;

坐标(J.A.V)

  • 使用下面三个参数在仓库中唯一定位一个Maven工程
    1. groupid : 公司或组织域名倒叙+项目名
    2. artifactid : 模块名
    3. version : 版本

仓库

  • 本地仓库
    为当前电脑的所有Maven工程服务
  • 远程仓库
  1. 私服 : 局域网的仓库;
  2. 中央仓库 : 假设在Internet上,为全世界服务;
  3. 中央仓库镜像 : 为了减轻中央仓库的压力;
  • 仓库保存的内容
  1. Maven 的插件
  2. 第三方jar包
  3. 自己开发的Maven工程

依赖

  1. Maven解析依赖信息是会到本地仓库中查找被依赖的jarbao
    对于我们自己开发的Maven工程,用使用mvn install 命令安装后就可以进入仓库了

    20180731225338624.png

  2. 依赖的范围


    20180731230249927.jpg
    1. compile

      1. 对主程序是否有效 : 有效
      2. 对测试程序是否有效 : 有效
      3. 是否参与打包 : 参与


        20180731230404279.jpg
    2. test

      1. 对主程序是否有效 : 无效
      2. 对测试程序是否有效 : 有效
      3. 是否参与打包 : 不参与
    3. provided

      1. 对主程序是否有效 : 有效
      2. 对测试程序是否有效 : 有效
      3. 是否参与打包 : 不参与


        20180731230539265.jpg

你可能感兴趣的:(一、初识)