1、Maven

1.1、Maven概念

  • 背景
    • 在一个项目中经常需要手动导入jar包,当需要的jar包数量多的时候,非常难以管理;同时还需要人为去下载各种jar包。同时不同IDE之间,项目结构不一样,造成迁移性低下,不通用的问题
    • 因此Maven被创造出来解决这个难题
  • 概念
    • Maven是专门用于管理和构建Java项目的工具,其主要功能有:
      • 提供了一套标准化的项目结构
        • Maven提供了一套标准化的项目结构,所有IDE使用Maven创建的项目结构完全一样,这样所有IDE创建的Maven项目就可以通用
      • 提供了一套标准化的构建流程(编译,测试,打包,发布….)
      • 提供了一套依赖管理机制
        • Maven使用标准化的坐标配置来管理各种依赖
        • 只需要简单的配置就可以完成依赖管理

1.2、Maven模型

1.3、Maven仓库

  • 仓库分类
    • 本地仓库:自己计算机上的一个目录
    • 中央仓库:由Maven团队维护的全球唯一的仓库地址:https://repo1.maven.org/maven2/
    • 远程仓库(私服):一般由公司团队搭建的私有仓库
  • 当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包
    • 如果没有,则去中央仓库中下载对应的jar包到本地仓库。
    • 如果有,则在项目直接引用
  • 还可以搭建远程仓库,将来jar包的查找顺序如下所示
    • 本地仓库 –> 远程仓库 –> 中央仓库

1.4、Maven安装

  • 1.Maven属于绿色版软件,解压即安装完成(PS:不要放在有汉字的目录)
  • 2.解压Maven仓库,放到某个目录中

1.5、Maven配置

  • 1.配置本地仓库

    • 修改conf/setting.xml中53行的 为一个指定目录

      • <localRepository>D:\develop\mvn_resp</localRepository>
        
  • 2.配置阿里云私服

    • 修改conf/setting.xml中146行的 标签,为其添加如下子标签

      • <mirror>  
            <id>nexus-aliyun</id>  
            <mirrorOf>*</mirrorOf>    
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
        </mirror>
        
  • 3.更改默认JDK版本

    • Maven默认使用的是JDK1.5,修改JDK版本,可以在187行的 标签添加如下信息

      • <profile>    
            <id>jdk-1.8</id>    
            <activation>    
                <activeByDefault>true</activeByDefault>    
                <jdk>1.8</jdk>    
            </activation>    
            <properties>    
                <maven.compiler.source>1.8</maven.compiler.source>    
                <maven.compiler.target>1.8</maven.compiler.target>    
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    
            </properties>    
        </profile>
        

1.6、IDEA配置Maven

1.7、IDEA创建Maven模块

1.8、Maven依赖管理

  • Maven坐标的概念
    • Maven中的坐标是资源的唯一表示
    • 使用坐标来定义项目或引入项目中需要的依赖
  • Maven坐标的主要组成
    • groupId
      • 定义当前Maven项目隶属组织名称(通常是域名反写
    • artifactId
      • 定义当前Maven项目名称(通常是模块名称
    • version
      • 定义当前项目版本号

1.8.1、使用坐标导入jar包

1.8.2、使用坐标导入jar包(快捷方式)

1.8.3、在线查询jar包依赖

1.8.4、Maven依赖范围

1.9、Maven常用命令

  • Maven环境变量配置
  • 命令行执行Maven命令

1.10、Maven生命周期

  • Maven构建项目生命周期描述的是一次构建过程经历了多少个事件
  • Maven默认的构建生命周期过程

1.11、IDEA导入Maven模块