【黑马程序员】Maven 进阶

文章目录

  • 前言
  • 一、分模块开发与设计
    • [1. 分模块开发意义](#1. 分模块开发意义)
    • [2. 分模块开发(模块拆分)](#2. 分模块开发(模块拆分))
      • [2.1 创建 Maven 模块](#2.1 创建 Maven 模块)
      • [2.2 书写模块代码](#2.2 书写模块代码)
      • [2.3 通过 Maven 指令安装模块到本地仓库(install 指令)](#2.3 通过 Maven 指令安装模块到本地仓库(install 指令))
  • 二、依赖管理
    • [1. 依赖传递](#1. 依赖传递)
      • [1.1 依赖传递冲突问题](#1.1 依赖传递冲突问题)
    • [2. 可选依赖(不透明)](#2. 可选依赖(不透明))
    • [3. 排除依赖(不需要)](#3. 排除依赖(不需要))
  • 三、聚合与继承
    • [1. 聚合](#1. 聚合)
      • [1.1 聚合工程开发](#1.1 聚合工程开发)
        • [① 创建 Maven 模块,设置打包类型为 pom](#① 创建 Maven 模块,设置打包类型为 pom)
        • [② 设置当前聚合工程所包括的子模块名称](#② 设置当前聚合工程所包括的子模块名称)
    • [2. 继承](#2. 继承)
      • [2.1 继承关系开发](#2.1 继承关系开发)
        • [① 创建 Maven 模块,设置打包类型为 pom](#① 创建 Maven 模块,设置打包类型为 pom)
        • [② 在父工程的 pom 文件中配置依赖关系](#② 在父工程的 pom 文件中配置依赖关系)
        • [③ 配置子工程中可选的依赖关系](#③ 配置子工程中可选的依赖关系)
        • [④ 在子工程中配置当前工程所继承的父工程](#④ 在子工程中配置当前工程所继承的父工程)
        • [⑤ 在子工程中配置使用父工程中可选依赖的坐标](#⑤ 在子工程中配置使用父工程中可选依赖的坐标)
    • [3. 聚合与继承的区别](#3. 聚合与继承的区别)
  • 四、属性管理
    • [1. 属性](#1. 属性)
      • [1.1 属性配置与使用](#1.1 属性配置与使用)
        • [① 定义属性](#① 定义属性)
        • [② 引用属性](#② 引用属性)
      • [1.2 资源文件引用属性](#1.2 资源文件引用属性)
        • [① 定义属性](#① 定义属性)
        • [② 配置文件中引用属性](#② 配置文件中引用属性)
        • [③ 开启资源属性目录所加载属性的过滤器](#③ 开启资源属性目录所加载属性的过滤器)
        • [④ 配置 maven 打 jar 包时,忽略 web.xml 检查](#④ 配置 maven 打 jar 包时,忽略 web.xml 检查)
      • [1.3 其他属性(了解)](#1.3 其他属性(了解))
    • [2 版本管理](#2 版本管理)
  • 五、多环境配置与应用
    • [1. 多环境开发](#1. 多环境开发)
      • [1.1 多环境的配置](#1.1 多环境的配置)
        • [① 定义多环境](#① 定义多环境)
        • [② 使用多环境](#② 使用多环境)
    • [2. 跳过测试](#2. 跳过测试)
      • [2.1 指令跳过](#2.1 指令跳过)
      • [2.2 细粒度控制跳过](#2.2 细粒度控制跳过)
  • 六、私服
    • [1. 私服简介](#1. 私服简介)
      • [1.1 Nexus 安装与启动](#1.1 Nexus 安装与启动)
    • [2. 私服仓库分类](#2. 私服仓库分类)
      • [2.1 私服仓库的分类](#2.1 私服仓库的分类)
    • [3. 资源上传与下载](#3. 资源上传与下载)
      • [3.1 本地仓库访问私服权限设置](#3.1 本地仓库访问私服权限设置)
        • [① 配置位置(server)](#① 配置位置(server))
        • [② 配置位置(mirror)](#② 配置位置(mirror))
        • [③ 配置 nexus 仓库](#③ 配置 nexus 仓库)
      • [3.2 工程上传到私服服务器设置](#3.2 工程上传到私服服务器设置)
        • [①配置位置(工程 pom 文件中)](#①配置位置(工程 pom 文件中))
        • [②配置位置(nexus 服务器页面设置)](#②配置位置(nexus 服务器页面设置))
  • 总结

前言

跟着B站的黑马程序员学习 Maven 进阶

课程传送门:黑马程序员------Maven进阶


一、分模块开发与设计

1. 分模块开发意义

2. 分模块开发(模块拆分)

2.1 创建 Maven 模块

2.2 书写模块代码

2.3 通过 Maven 指令安装模块到本地仓库(install 指令)

二、依赖管理

1. 依赖传递

1.1 依赖传递冲突问题

2. 可选依赖(不透明)

3. 排除依赖(不需要)

三、聚合与继承

1. 聚合

1.1 聚合工程开发

① 创建 Maven 模块,设置打包类型为 pom
② 设置当前聚合工程所包括的子模块名称

2. 继承

2.1 继承关系开发

① 创建 Maven 模块,设置打包类型为 pom
② 在父工程的 pom 文件中配置依赖关系
③ 配置子工程中可选的依赖关系
④ 在子工程中配置当前工程所继承的父工程
⑤ 在子工程中配置使用父工程中可选依赖的坐标

3. 聚合与继承的区别

  • 作用:

    ① 聚合用于快速构建项目

    ② 继承用于快速配置

  • 相同点:

    ① 聚合与继承的 pom.xml 文件打包方式均为 pom,可以将两种关系制作到同一个 pom 文件中

    ② 聚合和继承均属于设计型模式,并无实际的模块内容

  • 不同点:

    ① 聚合是在当前模块中配置关系 ,聚合可以感知到参与聚合的模块有哪些

    ② 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

四、属性管理

1. 属性

1.1 属性配置与使用

① 定义属性
② 引用属性

1.2 资源文件引用属性

① 定义属性
② 配置文件中引用属性
③ 开启资源属性目录所加载属性的过滤器
④ 配置 maven 打 jar 包时,忽略 web.xml 检查

1.3 其他属性(了解)

2 版本管理


五、多环境配置与应用

1. 多环境开发

1.1 多环境的配置

① 定义多环境
② 使用多环境

2. 跳过测试

  • 应用场景:

    ① 功能更新中并且没有开发完毕

    ② 快速打包

    ③ ...

  • 实现跳过测试:

    ① 按钮(跳过所有)

    ② 指令跳过

    ③ 细粒度控制跳过

2.1 指令跳过

2.2 细粒度控制跳过

六、私服

1. 私服简介

  • 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题。

  • Nexus

    ① Sonatype 公司的一款 maven 私服产品

    ② 下载地址:点击前往

1.1 Nexus 安装与启动

2. 私服仓库分类

2.1 私服仓库的分类

3. 资源上传与下载

3.1 本地仓库访问私服权限设置

① 配置位置(server)
② 配置位置(mirror)
③ 配置 nexus 仓库

3.2 工程上传到私服服务器设置

①配置位置(工程 pom 文件中)
②配置位置(nexus 服务器页面设置)

总结

以上就是本章要讲的内容,本文仅仅简单复述了老师讲课的文本内容,内容有误麻烦联系。

相关推荐
修己xj8 小时前
Maven 本地仓库替代私仓配置指南
maven
一 乐9 小时前
电影院|基于springboot + vue电影院购票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·电影院购票管理管理系统
恼书:-(空寄9 小时前
JVM GC 日志分析 + 常见 GC 场景 + 实战参数调优
java·jvm
消失的旧时光-19439 小时前
Spring Boot 实战(五):接口工程化升级(统一返回 + 异常处理 + 错误码体系 + 异常流转机制)
java·spring boot·后端·解耦
杨凯凡10 小时前
【012】图与最短路径:了解即可
java·数据结构
比特森林探险记10 小时前
【无标题】
java·前端
椰猫子11 小时前
Javaweb(Filter、Listener、AJAX、JSON)
java·开发语言
朝新_11 小时前
【Spring AI 】核心知识体系梳理:从入门到实战
java·人工智能·spring
一 乐11 小时前
旅游|基于springboot + vue旅游信息推荐系统(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·旅游信息推荐系统
我命由我1234512 小时前
Android 开发中,关于 Gradle 的 distributionUrl 的一些问题
android·java·java-ee·android studio·android jetpack·android-studio·android runtime