maven基础和maven高级应用

maven基础和maven高级应用

maven基础

https://www.bilibili.com/video/BV1uJ411k7wy?p=892

  1. 892概述 (废话)

  2. 893 核心功能一-依赖管理:

    只需要导入jar包坐标,自动引入maven仓库中的文件,不需要放入项目中,节省空间

  3. 894 核心功能二-一键构建(项目构建):

    • 构建概念:
      在这里插入图片描述

    • 一键构建:

      在这里插入图片描述

  4. 895 maven安装 :(视频略)

    blog:https://www.jianshu.com/p/245f22be230f

    以及:https://blog.csdn.net/github_37759996/article/details/90748461中的本地仓库命令:mvn help:system

  5. 896 maven仓库的种类及其依赖关系:

    三种及其依赖关系:

    在这里插入图片描述

    设置本地仓库目录上文blog有讲

    也有分为两种的说法:见下文高级应用第一讲

  6. 897 maven的标准目录结构:

    项目普遍具有的四个部分:

  • 核心代码部分

  • 配置文件部分 对应maven=>

  • 测试代码部分

  • 测试配置文件

  1. 898 maven常用命令行命令:
  • mvn clean:清除编译好的target目录(项目的编译信息)。在实际开发中,拿到一个他人的maven项目后,第一件事就是执行该命令删除target,因为他人电脑环境编译好的classes不一定适用自己电脑的环境
  • mvn compile:编译maven项目的核心代码部分,生成target目录和其子目录classes
  • mvn test:编译maven项目的测试代码同时还会编译核心代码部分,执行该命令会生成完整的target目录
  • mvn package:打包路径下的maven项目,生成完整的target目录并生成包文件放在target目录中。pom.xml中<packaging>标签指定该命令生成的文件类型
  • mvn install:包路径下的maven项目,生成完整的target目录并生成包文件放在target目录中,同时将该maven项目放入电脑的本地仓库中
  1. 899 maven一键构建的步骤:

    编译→测试→打包→安装→发布(mvn deploy) 其他四步对应上述几个命令。同时引出三个生命周期:

  • 默认生命周期(重要):

    在这里插入图片描述

  • 清理生命周期:

    在这里插入图片描述

  • 站点生命周期(不常用)

  1. 900 maven概念模型图及解析:

    在这里插入图片描述

  2. 901 idea集成maven插件:

    主要是Runner中的一条属性要注意:-DarchetypeCatalog=internal

  3. 902 idea使用骨架创建maven的Java工程:

    archetype-quickstart骨架

    同时注意资源文件夹的创建

  4. 903 idea不使用骨架创建maven的Java工程:

    对比得出:创建Java工程时尽可能不使用骨架

  5. 904 idea使用骨架创建maven的web工程:

    archetype-webapp骨架

    Java核心代码目录、配置资源目录、测试目录、测试配置资源目录都需要自行配置

  6. 905 maven工程指定web资源包,该步骤还可以添加web资源包(SpringMVC课程讲述的方法)

  7. 906 maven中央仓库寻找所需的jar包依赖配置,及idea中生命周期和对应插件所在窗口(Maven Project)的讲解,同时引出jar冲突。

  8. 907 解决servlet的jar冲突:

    pom.xml文件中依赖的子标签<scope>配置作用域

  9. 908 maven工程运行环境修改:

    <build>标签及其子标签<plugins>

    创建动态模板:Live Templates快速配置运行环境

maven高级应用

https://www.bilibili.com/video/BV1WZ4y1H7du?p=201

  1. 201 maven知识回顾:
  • 仓库类型:

    在这里插入图片描述

  • 依赖范围(<scope>标签):难点

    在这里插入图片描述

    默认为compile。

    其中编译classpath对应为src目录下的main目录,测试classpath对应为test目录,

  1. 202 maven依赖传递:

    在这里插入图片描述

    比如:

    在这里插入图片描述

  2. 203-207 依赖冲突及解决:

  • 203 依赖冲突概念:

    在这里插入图片描述

  • 204-207 依赖冲突的三种解决方法:

    • 1、使用maven提供的依赖调解原则:

      • 204 第一声明者原则:(基本不用)

        即pom.xml文件中依赖导入的语句声明先后顺序

      • 205 路径近者优先原则:

        在这里插入图片描述

        即pom.xml文件中直接声明的直接依赖优先。

    • 2、206 排除依赖:

      <dependency>标签的子标签<exclusions>标签将传递过来的依赖排除出去:

      在这里插入图片描述

    • 3、207 版本锁定:(重点)

      在这里插入图片描述

      使用方法:

      在这里插入图片描述

      注意:

      在这里插入图片描述

      <dependency>标签中不需要使用<version>标签指定版本了

  1. 208-215 基于maven构建ssm工程案例:
  • 208 数据库环境搭建

  • 209 maven项目实现步骤分析

    在这里插入图片描述

  • 210 创建项目并配置pom.xml

    使用骨架创建,并添加一个properties参数:name=archetypeCatalog,value=internal。(即上文第一部分第9点的内容,配置了第9点就不需要添加该参数)

  • 211-213 spring和mybatis整合

    • 211 整合步骤1:

      domain的POJO类、dao层的Mapper接口、Mapper映射xml文件编写(不推荐使用该方法,更推荐使用注解方式)

    • 212 整合步骤2:

      service层接口及实现类纯注解方式编写并使用@Transactional注解纳入Spring事务管理(不灵活,更推荐使用xml方式)、Spring关于数据源配置文件:applicationContext-dao.xml(替换mybatis的SqlConfig.xml功能,注意别名功能的注入)、Spring关于Service配置文件:applicationContext-service.xml

    • 213 测试整合:

      引入Spring整合Junit的测试

  • 214 加入SpringMVC配置整合:

    controller层编写、spring-mvc.xml配置文件编写、编写前端页面、编写web.xml文件(因为有两个spring配置文件,故全局监听器处需要修改)

  • 215 部署到Tomcat测试

  1. 216-221 分模块构建maven项目:(重点)
  • 216分析:

    在这里插入图片描述

    两种拆分方式:

    在这里插入图片描述

  • 217 继承:

    在这里插入图片描述

  • 218 聚合:

    在这里插入图片描述

    Maven Project窗口实现聚合后的清理和打包

    继承与聚合是没有联系的

  • 219-221工程案例实现上述知识:

    • 219 工程创建:

      自动继承、聚合的创建方法。继承的子工程会有不使用jar包坐标,所以默认不在父工程添加坐标,只锁定版本;在子工程中引入坐标,同时也不需要每个子工程都添加坐标,只需要一个子工程添加坐标,其他需要的子工程引入有坐标的那个子工程即可。

    • 220 完善工程代码:

      dao子工程就引入applicationContext-dao.xml这个spring配置文件,service子工程就引入applicationContext-service.xml这个spring配置文件,

    • 221 部署至Tomcat:

      :war不支持热部署;:war exploded支持热部署。

      运行后会将非web子工程打成jar包引入target目录,所以web.xml中的全局监听器能找的两个spring配置文件。

  1. 222-228 maven私服知识及第三方jar包安装至本地仓库和私服(222应该为安装nexus视频,但上传错了)
  • 222-226 maven私服:

    • 222 安装和卸载私服。视频不见了,看https://www.bilibili.com/video/BV1Vx411d72W?p=15这个视频

    • 223 nexus仓库类型:

      四种类型:

      在这里插入图片描述

    • 224 nexus仓库和磁盘路径:

      本地路径与nexus仓库路径的对应;

    • 225 将项目发布到私服:

      操作步骤:

      在这里插入图片描述

      第一步的<server>标签有具体格式和位置要求

      第二步哪个module要上传至私服就在哪个pom中配置

      第三步也是在对应项目中运行命令

      注意:上传至那个具体的nexus仓库由pom中的<version>标签决定,默认是SNAPSHOT

    • 226 从私服下载jar包至本地仓库:

      操作步骤:

      在这里插入图片描述

      激活后pom导入坐标会首先从私服寻找,私服没有则私服会从中央仓库下载。

  • 227-228 第三方jar包安装至本地仓库和私服

    maven中央仓库不是有所有的jar包,比如没有oracle驱动jar包。

    解决:下载jar包至本地后安装至本地仓库或maven私服

    • 227 安装至本地仓库:

      在jar包所在的本地路径启动命令行运行mvn命令安装至本地仓库,命令百度。

    • 228 安装至私服:

      三个步骤:

      在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43175022/article/details/109104212
今日推荐