【黑马程序员】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 服务器页面设置)

总结

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

相关推荐
维天说21 分钟前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19941 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了2 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品2 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘2 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记2 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵3 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
极光代码工作室4 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
我是唐青枫4 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
ihuyigui4 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端