maven知识点(一)

2 篇文章 0 订阅

maven是什么[what?]

  1. maven是一款服务于Java平台的自动化构建工具,用来构建web项目以及管理项目中使用的jar包。
  2. maven的构建:
      概念:以Java源文件、框架的配置文件、HTML、图片等资源文件为“原材料”,去“生产”一个项目的过程称为构建。
  3. maven构建过程中的各个环节:
      [1]清理:将以前编译得到的旧的class字节码文件删除,为下一次的编译做准备
      [2]编译:将Java源程序编译成class字节码文件
      [3]测试:自动测试,自动调用junit程序
      [4]报告:测试程序的执行结果
      [5]打包:动态web工程打war包,Java工程打jar包(一般用于前后端分离的项目中)
      [6]安装:maven特定的概念——将打包得到的复制到“仓库”中指定位置中
      [7]部署:将动态的web工程生成的war包复制到servlet容器(tomcat)指定的目录下,使其可以运行

安装maven

  1. 检查Java环境,是否安装了jdk
    C:\Users\User009>java -version
    java version “1.8.0_131”
    Java™ SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot™ 64-Bit Server VM (build 25.131-b11, mixed mode)
  2. 解压maven核心程序的压缩包,放在一个无中文无空格的路径下
    D:\apache-maven-3.6.1
  3. 配置maven相关的环境变量
      [1]MAVEN_HOME

      [2]PATH
  4. 验证:运行mvn -v命令查看maven的版本
    C:\Users\User009>mvn -v
    Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
    Maven home: D:\apache-maven-3.6.1\bin…
    Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_131\jre
    Default locale: zh_CN, platform encoding: GBK
    OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “windows”

maven的核心概念

  [1] 约 定 的 目 录 结 构 \color{blue}{约定的目录结构}
  [2] P O M \color{blue}{POM} POM
  [3] 坐 标 \color{blue} {坐标}
  [4] 依 赖 \color{red} {依赖}
  [5]仓库
  [6]生命周期
  [7]继承
  [8]聚合

创建一个maven工程

  1. 创建约定的目录结构
      [1]根目录:工程名
      [2]src目录:源码
      [3]pom.xml文件:maven工程的核心配置文件
      [4]main目录:存放主程序
      [5]test目录:存放测试程序
      [6]resources:存放框架或其它工具的配置文件
  2. 我们为什么要遵守约定的目录结构呢?
      [1]maven要负责我们这个项目的自动化构建,以编译为例,maven要想自动进行编译,那它必须知道Java源文件放在哪里
      [2]如果我们自己定义的东西想让框架和工具知道,有两种办法
        &以配置的方式明确告诉框架
    例如SSM框架中,可以在配置文件中配置spring配置文件的路径以及spring配置文件的名称:

        &遵守框架内部已经存在的约定
    例如:log4j日志框架,配置文件名称和配置文件的存放路径是已经约定好的
        &遵守的规则:约定>配置>编码

maven常用的命令

   [1]注意:执行与构建过程相关的maven命令,必须进入pom.xml文件所在的目录。
   [2]常用命令:
    &mvn clean 清理
    &mvn compile 编译主程序
    &mvn test-compile 编译测试程序
    &mvn test 执行测试
    &mvn package 打包
    &mvn install 安装
    &mvn site 生成站点

关于联网的问题

  [1]maven的核心程序中仅仅定义了抽象的生命周期,但是具体的工作必须由特定的插件来完成,而插件本身并不包含在maven的核心程序中。
  [2]当我们执行的maven命令需要用到某些插件时,maven的核心程序会首先到本地仓库中查找。
  [3]本地仓库的默认位置:[系统中当前登录用户的家目录]\.m2\repository

  [4]maven的核心程序如果在本地仓库中找不到需要的插件,那么它会自动连接外网,到中央仓库中下载
  [5]如果此时无法连接外网,则构建失败
  [6]修改默认本地仓库位置可以让maven核心程序到我们事先准备好的目录下查找插件
    (1)找到maven解压目录下\conf\settings.xml
    (2)在settings.xml文件中找到localRepository标签
    (3)将<localRepository>/path/to/local/repo</localRepository>从注释中取出
    (4)将标签体内容修改为已经准备好的maven仓库目录
      <localRepository>D:\repo</localRepository>

POM

    [1]含义:Project Object Model 项目对象模型
      DOM Document Object Model 文档对象模型(js中的模型)
    [2]pom.xml对于maven工程而言,是核心的配置文件,与构建过程相关的一切设置都在这个文件中进行配置

坐标

    [1]数学中的坐标
      &在平面上:使用X、Y两个向量就可以唯一的定位平面中的任何一个点
      &在空间中:使用X、Y、Z三个向量就可以唯一的定位空间中的任何一个点。
    [2]maven的坐标
      使用下面三个向量就可以在仓库中唯一的定位一个maven工程
        [1]groupId:公司或组织域名倒序+项目名
        例如:<groupId>org.apache.commons<groupId>
        [2]artifactId:模块名
        例如:<artifactId>commons-jexl3</artifactId>
        [3]version:版本
        例如:<version>3.1</version>
    [3]maven工程的坐标与仓库中路径的对应关系

仓库

    [1]仓库的分类:
      &本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有maven工程服务
      &远程仓库:
        (1)私服:搭建在局域网环境中,为局域网范围内所有maven工程服务
        (2)中央仓库:架设在Internet上面,为全世界所有maven工程服务
        (3)中央镜像仓库:为了分担中央仓库的流量,提升用户的访问速度
    [2]仓库中保存的内容:maven工程
      &maven自身所需要的插件
      &第三方框架或工具的jar包
      &我们自己开发的maven工程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值