城乡建设规划网站/友情链接交换平台
一、分模块设计与开发
分模块设计:
将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。
注意:分模块开发需要先对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。
二、继承与聚合
1.继承关系
- 继承:描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承。
- 作用:简化依赖配置、统一管理依赖
- 实现:<parent>...</parent>
Maven中一些常见的打包方式:
- jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)
- war:普通web程序打包,需要部署在外部的tomcat服务器中运行
- pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理
2.继承关系的实现
- 创建maven模块tlias-parent,该工程为父工程,设置打包方式pom
- 在子工程的pom.xml文件中,配置继承关系
- 在父工程中配置各个工程共有的依赖(子工程会自动继承父工程的依赖)
注意:
- 在子工程中,配置了继承关系之后,坐标中的groupId是可以省略的,因为会自动继承父工程的;
- relativePath指定父工程的pom文件的相对位置(如果不指定,将从本地仓库/远程仓库查找该工程的);
- 若父子工程都配置了同一个依赖的不同版本,以子工程的为准。
====分模块设计之后,启动程序,仍然可以正常运行====
3.版本锁定
1)父工程统一管理版本号
在maven中,可以在父工程的pom文件中通过<dependencyManagement>来统一管理依赖版本。
子工程引入依赖时,无需指定<version>版本号,父工程统一管理,变更以来版本,只需要在父工程中统一变更。
2)自定义属性/引用属性
在<properties>标签里直接定义版本标签集中管理:
<lombok.version>1.18.20</lombok.version>
<jjwt.version>0.9.0</jjwt.version>
在后面的统一版本管理标签里只需要将<version>标签里面改为:
<version>${jjwt.version}</version>引用属性即可
注意:web开发的起步依赖已经在父工程指定为2.7.5,子工程只用引用即可,无需指定版本。
Q:<dependencyManagement>与<dependency>的区别?
- <dependency>是直接依赖,在父工程配置了依赖,子工程会直接继承下来;
- <dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)
4.聚合
聚合:将多个模块组成一个整体,同时进行项目的构建
- 增加<modules>标签,指定需要聚合的模块即可
<module>../tlias-utils<module>
聚合之后就在可以直接在聚合模块tlias-parent继续操作即可,不需要逐一部署每一个模块了。
聚合工程:一个不具有业务功能的”空“工程(有且仅有一个pom文件)===tlias-parent(父工程、聚合工程)
作用:快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上构建即可)
5.总结
- 作用:
- 聚合用于快速构建项目
- 继承用于简化依赖配置,统一管理依赖
- 相同点:
- 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中===tlias-parent(父工程、聚合工程)
- 聚合与继承均属于设计型模块,并无实际的模块内容
- 不同点:
- 聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些
- 继承是在子模块中配置关系,父模块无法感知哪些模块继承了自己
三、私服
1.介绍
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,用于解决团队内部的资源共享与资源同步问题。一个项目/公司,只需要一台私服即可,无需自己搭建,会使用即可。
2.资源上传与下载
私服中的三个仓库:
- release:发行的稳定版本
- snapshot:开发阶段
- central:中央仓库
私服配置会使用即可,步骤固定。
相关文章:

黑马程序员JavaWeb开发|Maven高级
一、分模块设计与开发 分模块设计: 将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。 注意:分模块开发需要先对模块功能进行设计,再进行编码。不会先将工…...

【经验分享】MAC系统安装R和Rstudio(保姆级教程)安装下载只需5min
最近换了Macbook的Air电脑,自然要换很多新软件啦,首先需要安装的就是R和Rstudio啦,网上的教程很多很繁琐,为此我特意总结了最简单实用的安装方式: 一、先R后Rstudio 二、R下载 下载网址:https://cran.r-project.org …...

探索设计模式的魅力:“感受单例模式的力量与神秘” - 掌握编程的王牌技巧
在软件开发的赛场上,单例模式以其独特的魅力长期占据着重要的地位。作为设计模式中的一员,它在整个软件工程的棋盘上扮演着关键性角色。本文将带你深入探索单例模式的神秘面纱,从历史渊源到现代应用,从基础实现到高级技巧…...

SpringCloud Aliba-Seata【上】-从入门到学废【7】
目录 🧂.Seata是什么 🌭2.Seata术语表 🥓3.处理过程 🧈4.下载 🍿5.修改相关配置 🥞6.启动seata 1.Seata是什么 Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能…...

C# Cad2016二次开发选择csv导入信息(七)
//选择csv导入信息 [CommandMethod("setdata")] //本程序在AutoCAD的快捷命令是"DLLLOAD" public void setdata() {Microsoft.Win32.OpenFileDialog dlg new Microsoft.Win32.OpenFileDialog();dlg.DefaultExt ".csv";// Display OpenFileDial…...

[陇剑杯 2021]日志分析
[陇剑杯 2021]日志分析 题目做法及思路解析(个人分享) 问一:单位某应用程序被攻击,请分析日志,进行作答: 网络存在源码泄漏,源码文件名是_____________。(请提交带有文件后缀的文件名&…...

Java面试汇总——jvm篇
目录 JVM的组成: 1、JVM 概述(⭐⭐⭐⭐) 1.1 JVM是什么? 1.2 JVM由哪些部分组成,运行流程是什么? 2、什么是程序计数器?(⭐⭐⭐⭐) 3、介绍一下Java的堆(⭐⭐⭐⭐) 4、虚拟机栈(⭐⭐⭐⭐) 4.1 什么是虚拟机栈&…...

数据结构:完全二叉树(递归实现)
如果完全二叉树的深度为h,那么除了第h层外,其他层的节点个数都是满的,第h层的节点都靠左排列。 完全二叉树的编号方法是从上到下,从左到右,根节点为1号节点,设完全二叉树的节点数为sum,某节点编…...

RK3568 移植Ubuntu
使用ubuntu-base构建根文件系统 1、到ubuntu官网获取 ubuntu-base-18.04.5-base-arm64.tar.gz Ubuntu Base 18.04.5 LTS (Bionic Beaver) 2、将获取的文件拷贝到ubuntu虚拟机,新建目录,并解压 mkdir ubuntu_rootfs sudo tar -xpf u...

C++大学教程(第九版)6.34猜数字游戏 6.35 修改的猜数字游戏
文章目录 6.34题目代码运行截图6.35题目代码运行截图 6.34题目 猜数字游戏)编写一个程序,可以玩“猜数字”的游戏。具体描述如下:程序在1~1000之间的整数中随机选择需要被猜的数,然后显示: 代码 #include <iostream> #include <cstdlib>…...

【立创EDA-PCB设计基础】5.布线设计规则设置
前言:本文详解布线前的设计规则设置。经过本专栏中的【立创EDA-PCB设计基础】前几节已经完成了布局,接下来开始进行布线,在布线之前,要设置设计规则。 目录 1.间距设置 1.1 安全间距设置 1.2 其它间距设置 2.物理设置 2.1 导…...

ElementUI简介以及相关操作
ElementUI是一套基于Vue.js的桌面端组件库,提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。以下是ElementUI的简介以及相关操作: 简介:ElementUI是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库ÿ…...

内存耗尽排查思路
内存耗尽排查思路 – WhiteNights Site 标签:日志 内存间断性耗尽问题的排查思路 先简单说下背景。排查了两天给我整麻了。 找了个镜像模板做虚拟机。但是发现只要一开机,内存每隔几秒就会被耗尽。看内存的波形图就和坐过山车一样,一会占…...

OpenCV书签 #差值哈希算法的原理与相似图片搜索实验
1. 介绍 差值哈希算法(Difference Hash Algorithm,简称dHash) 是哈希算法的一种,主要可以用来做以图搜索/相似图片的搜索工作。 2. 原理 差值哈希算法通过计算相邻像素的差异来生成哈希,即通过缩小图像的每个像素与平…...

Unity中URP下获取主灯信息
文章目录 前言一、计算BulinnPhone的函数有两个重载1、 目前最新使用的是该方法(这是我们之后主要分析的函数)2、 被淘汰的老方法,需要传入一堆数据 二、GetMainLight1、Light结构体2、GetMainLight具有4个方法重载3、1号重载干了什么&#x…...

尝试着在Stable Diffusion里边使用SadTalker进行数字人制作
首先需要标明的是,我这里是图片说话类型,而且是看了知识星球AI破局俱乐部大航海数字人手册进行操作的。写下这篇文章是防止我以后遗忘。 我使用的基础软件是Stable Diffusion,SadTalker是作为插件放进来的,需要注意的是这对自己的…...

链路聚合原理与配置
链路聚合原理 随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出了越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。采用…...

第8章 通信网络安全
文章目录 8.1 信息系统安全概述8.1.1 信息系统的构成和分类8.1.2 信息系统安全1、信息系统中的安全概念2、信息系统安全问题的发展演变3、信息系统的安全结构 8.1.3 信息系统的安全保护等级1.TCSEC(可信计算机系统评估准则)2. 我国信息安全标准 8.1.4 通…...

L1-092 进化论(Java)
在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。猩猩吕严说自己已经进化了 9 年了,因为“三年又三年”。猩猩土豆指出“三年又三年是六年呐”…… 本题给定两个数字,以及用这两个数字计算的结果,…...

SpringBoot 源码解析5:ConfigurationClassPostProcessor整体流程和@ComponentScan源码分析
SpringBoot 源码解析5:ConfigurationClassPostProcessor整体流程和ComponentScan源码分析 1. 知道以下几点,读ConfigurationClassPostProcessor源码会更轻松2. 源码解析 ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry2.1 Configur…...

一.初识Linux 1-3操作系统概述Linux初识虚拟机介绍
目录 一.初识Linux 1.操作系统概述 计算机组成 硬件: 软件: 操作系统: 操作系统工作流程 操作系统作用 常见的操作系统 PC端: 移动端:(掌上操作系统) 一.初识Linux 2.Linux初识 linu…...

Eureka整合seata分布式事务
文章目录 一、分布式事务存在的问题二、分布式事务理论三、认识SeataSeata分布式事务解决方案1、XA模式2、AT模式3、SAGA模式4.SAGA模式优缺点:5.四种模式对比 四、微服务整合Seata AT案例Seata配置微服务整合2.1、父工程项目创建引入依赖 2.2、Eureka集群搭建2.3、…...

华为云磁盘性能指标(参考)
MD[华为云磁盘性能指标(参考)] 云硬盘(Elastic Volume Service, EVS) 根据性能,磁盘可分为极速型SSD V2、极速型SSD、通用型SSD V2、超高IO、通用型SSD、高IO、普通IO。 性能指标(参考),测速说明:操作系统-windows …...

利用OpenGL图形库实现人物动画移动效果
使用OpenGL库实现人物动画移动效果需要涉及到更复杂的图形编程和事件处理。以下是一个简单的例子,使用OpenGL和GLUT库实现人物的基本动画移动效果。 确保你已经安装了OpenGL和GLUT。你可以使用包管理器或者从官方网站下载并安装。 一、如果你已经安装过了OpenGL和…...

History命令解释,及一个相关的bash脚本(如何编写脚本程序从记录文件中提取history命令)
目 录 一、history命令介绍 1、history命令是什么? 2、history的主要功能 二、history命令的用法 1、语法 2、选项说明 3、命令实例 三、history和历史记录文件bash_history 四、history命令的相关配置 1,命令带时间展示-HISTTI…...

apisix 单机部署 linux
安装etcd: cd /home/app rz tar -zxvf etcd-v3.5.4-linux-amd64.tar.gz cd etcd-v3.5.4-linux-amd64 vim start.sh内容: #!/bin/sh nohup etcd --name infra0 --initial-advertise-peer-urls http://127.0.0.1:2380 \--listen-peer-urls http://127.0.…...

Redis 面试题 | 06.精选Redis高频面试题
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

2008年苏州大学837复试机试C/C++
2008年苏州大学复试机试 题目 编写程序充成以下功能: 一、从键盘上输入随机变量x的 10个取样点。X0,X1—X9 的值; 1、计算样本平均值 2、判定x是否为等差数列 3、用以下公式计算z的值(t0.63) 注。请对程序中必要地方进行注释 补充:个人觉得这个题目回忆…...

MySQL笔记-information_schema库中COLUMNS表的一些笔记
mysql建表中可以添加comment,也就是注释,这些注释会写到information_schema库的COLUMNS表中,可以使用如下SQL语句进行查询: SELECT COLUMN_NAME, COLUMN_COMMENT FROM information_schema.COLUMNS WHERE TABLE_SCHEMA your_data…...

归并排序模板
模板在文末,以下步骤方便理解记忆。 先贴一张快速排序模板步骤,用于对比记忆 归并排序步骤: (0)如果数组左边界L ≥ 数组右边界,则不需要排序,直接return。 (1)直接取…...