当前位置: 首页 > news >正文

【黑马程序员】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. 聚合与继承的区别
  • 四、属性管理
    • 1. 属性
      • 1.1 属性配置与使用
        • ① 定义属性
        • ② 引用属性
      • 1.2 资源文件引用属性
        • ① 定义属性
        • ② 配置文件中引用属性
        • ③ 开启资源属性目录所加载属性的过滤器
        • ④ 配置 maven 打 jar 包时,忽略 web.xml 检查
      • 1.3 其他属性(了解)
    • 2 版本管理
  • 五、多环境配置与应用
    • 1. 多环境开发
      • 1.1 多环境的配置
        • ① 定义多环境
        • ② 使用多环境
    • 2. 跳过测试
      • 2.1 指令跳过
      • 2.2 细粒度控制跳过
  • 六、私服
    • 1. 私服简介
      • 1.1 Nexus 安装与启动
    • 2. 私服仓库分类
      • 2.1 私服仓库的分类
    • 3. 资源上传与下载
      • 3.1 本地仓库访问私服权限设置
        • ① 配置位置(server)
        • ② 配置位置(mirror)
        • ③ 配置 nexus 仓库
      • 3.2 工程上传到私服服务器设置
        • ①配置位置(工程 pom 文件中)
        • ②配置位置(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 服务器页面设置)

在这里插入图片描述


总结

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

相关文章:

【黑马程序员】Maven 进阶

文章目录 前言一、分模块开发与设计1. 分模块开发意义2. 分模块开发(模块拆分)2.1 创建 Maven 模块2.2 书写模块代码2.3 通过 Maven 指令安装模块到本地仓库(install 指令) 二、依赖管理1. 依赖传递1.1 依赖传递冲突问题 2. 可选依…...

231108 C语言memset当第三个参数为0,即设置个数为零也不报错

memset语法: void *memset(void *s, int c, size_t n); 犹豫第三个参数为0会不会报错,测试不会。 代码: #include"stdio.h" #include"stdlib.h" // memset memcpy int main() { int sig[100] { 0 }; int …...

HMM与LTP词性标注之马尔科夫模型(HMM原理剖析)

文章目录 问题描述viterbi算法联合概率与条件概率维特比算法实例 问题描述 viterbi算法 联合概率与条件概率 维特比算法实例...

Python自动化测试selenium指定截图文件名方法

这篇文章主要介绍了Python自动化测试selenium指定截图文件名方法,Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试,下文基于python实现指定截图文件名方法,需要的小伙伴可以参考一下 前…...

Linux 实现文件后半部分的复制

继上次实现文件从后往前数2k的数据进行复制,此次要求是文件的一半且是后半部分。 即复制源文件sour_file的后半部分到dest_file 除了数据上从后2K变化到后一半之外,其他的几乎没有什么变化。 这道题的关键点就在于后一半怎么求,在经历了用 …...

阿里开源中间件一览

1. 概述以及竞品对比 间件介绍官方链接竞品竞品介绍异同点对比Dubbo高性能的RPC框架,用于实现分布式服务的调用和管理。DubbogRPC gRPC是由Google开源的一款高性能、通用的RPC框架,支持多种编程语言 链接:gRPC Dubbo更注重于服务治理和可扩展…...

Ubuntu20.04下Salome_meca 2022软件安装(支持GPU加速)

一、什么是Salome_meca ? Salome_meca 是一个开源的有限元分析软件套件,主要用于模拟和分析复杂的力学问题。它是 Salome 平台的一部分,Salome 是一个通用的集成化软件环境,用于建模、预处理、模拟和后处理各种复杂的工程和科学问…...

uniapp:打包ios配置隐私协议框

使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。 首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选。 解决思路: 1、新建页面:iosLogin.vue,pages.json中 这个页面需要放在第一…...

JS逆向爬虫---请求参数加密③【比特币交易爬虫】

查询参数确定 t无加密 请求头参数加密 X-Apikey参数加密确定 X-Apikey逆向 const API_KEY "a2c903cc-b31e-4547-9299-b6d07b7631ab" function encryptApiKey(){ var t API_KEY, e t.split(""), n e.splice(0, 8);return t e.concat(n).join("&…...

云计算:未来科技的超级英雄

随着科技的不断发展,云计算已经成为了现代社会的核心驱动力之一。从智能家居到无人驾驶,从虚拟现实到人工智能,云计算的崭新时代已经到来,为我们的生活带来了智能、便捷和有趣的体验。本文将带领读者穿越时空,探索未来…...

【Node.js入门】1.3 开始开发Node.js应用程序

1.3 开始开发Node.js应用程序 学习目标 (1)熟悉开发工具Visual Studio Code的基本使用; (2)掌握Node.js应用程序的编写、运行和调试的基本方法。 构建第一个 Node.js应用程序 代码 const http require("htt…...

ansible-playbook之file模块

1、file模块功能说明 file模块主要用于远程主机上的文件操作,file模块包含如下选项: force:需要在两种情况下强制创建软链接,一种是源文件不存在但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软…...

Vue路由介绍及使用

一、单页应用程序介绍 1.概念 单页应用程序:SPA【Single Page Application】是指所有的功能都在一个html页面上实现,当切换不同的功能时,页面不会进行刷新,类似Ajax请求,但请求地址会发生部分变化。 2.具体示例 单…...

案例 - 拖拽上传文件

直接看效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>拖拽上传文件</title>&l…...

github 上传代码报错 fatal: Authentication failed for ‘xxxxxx‘

问题 今天一时兴起创建了个 github 新仓库&#xff0c;首次上传本地代码时&#xff0c;遇到了一个报错。本来以为是账号密码的问题&#xff0c;搞了好几次&#xff0c;发现都没错的情况下还是上传不上去。目测判断是认证相关问题&#xff0c;具体报错信息如下&#xff1a; rem…...

Linux虚拟网络设备之bridge

继前两篇介绍了tun/tap和veth之后&#xff0c;本篇将介绍Linux下常用的一种虚拟网络设备&#xff0c;那就是bridge(桥)。 Linux ip netns 命令-CSDN博客 veth-pair,netns-CSDN博客 图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN_veth 转发 有拷贝-C…...

最后一个大更新!Win11 2023正式发布:Copilot终于来了

美国当地时间周二&#xff0c; 微软正式宣布为所有符合条件的Windows 11电脑发布Windows 11 2023更新(Windows 11 23H2)。 考虑到微软计划在2024年发布下一代Windows(可能是Windows 12)&#xff0c;这也使得23H2成为Windows 11的最后一个重大更新。 此次更新的重点就是AI功能&a…...

pandas教程:Reading and Writing Data in Text Format (以文本格式读取和写入数据)

文章目录 Chapter 6 Data Loading, Storage, and File Formats&#xff08;数据加载&#xff0c;存储&#xff0c;文件格式&#xff09;6.1 Reading and Writing Data in Text Format (以文本格式读取和写入数据)1 Reading Text Files in Pieces&#xff08;读取一部分文本&…...

软考高级系统架构设计师系列之:软考高级系统架构设计师论文专题

软考高级系统架构设计师系列之:软考高级系统架构设计师论文专题 一、论文相关内容二、论文专题大纲三、论文考试方式四、历年真题汇总分析五、论文常见问题六、论文评分标准七、搭建论文万能模版八、论文万能模版公式九、搭建论文万能模版—摘要十、搭建论文万能模版—背景十一…...

目标检测中的评价指标

目标检测中的评价指标 将检测目标分为正样本和负样本。 真阳性&#xff08;true positives , TP&#xff09; : 正样本被正确识别为正样本。 假阳性&#xff08;false positives, FP&#xff09;: 负样本被错误识别为正样本。 假阴性&#xff08;false negatives, FN&#…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数&#xff09;shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数&#xff09; 思路&#xff1a; 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...

基于谷歌ADK的 智能产品推荐系统(2): 模块功能详解

在我的上一篇博客&#xff1a;基于谷歌ADK的 智能产品推荐系统(1): 功能简介-CSDN博客 中我们介绍了个性化购物 Agent 项目&#xff0c;该项目展示了一个强大的框架&#xff0c;旨在模拟和实现在线购物环境中的智能导购。它不仅仅是一个简单的聊天机器人&#xff0c;更是一个集…...

NineData数据库DevOps功能全面支持百度智能云向量数据库 VectorDB,助力企业 AI 应用高效落地

NineData 的数据库 DevOps 解决方案已完成对百度智能云向量数据库 VectorDB 的全链路适配&#xff0c;成为国内首批提供 VectorDB 原生操作能力的服务商。此次合作聚焦 AI 开发核心场景&#xff0c;通过标准化 SQL 工作台与细粒度权限管控两大能力&#xff0c;助力企业安全高效…...

使用homeassistant 插件将tasmota 接入到米家

我写一个一个 将本地tasmoat的的设备同通过ha集成到小爱同学的功能&#xff0c;利用了巴法接入小爱的功能&#xff0c;将本地mqtt转发给巴法以实现小爱控制的功能&#xff0c;前提条件。1需要tasmota 设备&#xff0c; 2.在本地搭建了mqtt服务可&#xff0c; 3.搭建了ha 4.在h…...