(javaweb)maven高级

news2024/11/15 4:20:03

目录

​编辑

1.分模块设计与开发

2.继承与聚合--继承关系实现

3.继承与聚合--版本锁定

4.继承与聚合--聚合版本

5.私服

资源的上传与下载 


1.分模块设计与开发

分模块:拆分成多个模块进行开发

不分模块:业务代码堆积成一个 不利于项目管理和维护并且难以复用

解决:分模块设计  模块独立  

各模块之间可以互相引用:引入他的坐标

pojo中:分页结果的封装类pagebean统一响应结果result 还有一些实体类

如果要复用当前项目的实体类 工具类---创建maven的模块   引入对应的依赖即可

2.继承与聚合--继承关系实现

在maven中,工程与工程之间也可以实现继承关系

解决这个问题:创建父工程:parent  模块继承该父工程  下面的工程为子工程

共有的写在父工程当中

只要子工程继承了父工程,依赖也会继承下来

若为父工程,其打包方式要设置为pom  模块默认打包方式为jar包

有三种打包方式

springboot项目运行在内部的Tomcat服务器当中

早期基于servlet开发的web程序以及基于原始的spring mvc所开的web应用程序---打包方式都是war包

打包成war包没法通过java指令运行  必须要部署在外部的Tomcat服务器中运行

pom的打包方式常见于继承关系中的父工程

所有的springboot项目都有一个统一的父工程

在maven中 一个子工程只能继承一个父工程(只能单继承)不能多继承 但可以多重继承

父工程中--不会写任何的java代码

父子工程都放在同一个目录下,属于是平级的关系     第二种工程结构更加清楚

3.继承与聚合--版本锁定

 模块拆分的越多,依赖的版本号越不好管理-----maven中:版本锁定

dependencyManagement--仅仅起到统一管理依赖版本的作用,并不会直接依赖  要想使用必须引入相应的依赖坐标,只不过不用再指定version了

自定义属性集中维护版本

4.继承与聚合--聚合版本

parent既是一个父工程,又是一个聚合工程

5.私服

 同一个公司两个项目组之间基于私服进行资源的共享   各自都有maven的本地仓库

中央仓库:全球只有一个 不能上传自己的jar  如何解决团队内部资源共享的问题????

私服!!!!(架设在公司局域网内部的一台服务器 是一种特殊的远程仓库) 各个团队可以连接私服

A连接到私服将jar包上传到私服  然后A与B连接同一台私服 然后B根据坐标找到私服中的jar包 下载到自己的本地仓库

此时 通过私服完成了团队内部资源的共享

若要使用mybatis最新的依赖 私服需要自动连接中央仓库,从中央仓库把需要的jar包下载下来 存放在私服的仓库当中

项目组先从本地仓库中找--若没有就去私服中去找--私服也没有就去中央仓库去找

资源的上传与下载 

这里所说的资源就是依赖jar包

上传到私服--首先需要安装到本地仓库 再将本地仓库上传到私服当中(此时执行的maven指令叫deploy--发布 是maven的生命周期)

默认是release版本

//上传到私服

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考研数学|零基础9月开始100天备考攻略

马上就要9月了,很多同学相比快要结束强化了,零基础的同学,进度可能会慢一些,但是别担心,考研数学的学习,进度不是最要紧的,学习效果才是!千万不要比进度,也不要赶进度&am…

Linux中的PCI配置空间

在计算机系统中,PCI(Peripheral Component Interconnect)总线是一种用于连接硬件设备的标准接口。PCI总线提供了一个通用的、高性能的数据传输通道,广泛应用于PC系统和服务器中。在Linux操作系统中,PCI设备的配置空间是…

Modern C++——不准确“类型声明”引发的非必要性能损耗

大纲 案例代码地址 C是一种强类型语言。我们在编码时就需要明确指出每个变量的类型,进而让编译器可以正确的编译。看似C编译器比其他弱类型语言的编译器要死板,实则它也做了很多“隐藏”的操作。它会在尝试针对一些非预期类型进行相应转换,以…

JS脚本实现RPA模拟人工操作网页获取数据

一、首先我们可以根据查询条件去预置一个Excel&#xff0c;比如我们以公司名称为例。 二、然后我们用JS读取Excel内容&#xff0c;进行页面打开与条件记录 <!DOCTYPE html> <html> <div style"text-align: center;margin-top: 300px;"><input …

一款人性化的终端用户界面工具

A collection of human friendly terminal user interface. 截图 历史文件预览 注意: find file 依赖 fzf. file browser依赖 ranger / lf / … 安装 git clone https://github.com/StubbornVegeta/StartUp ~/.config/ cd ~/.config/StartUp ./install.sh用法 . $HOME/.…

【binder】【android12】【2.servicemanager启动——全源码分析】

系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …

浅谈【数据结构】树与二叉树二

目录 1、二叉排序树 1.1二叉树排序树插入 1.1.1两种插入方法 1.1.2循环法 1.1.3递归法 1.2二叉树的打印 1.3二叉树的结点删除 1.4销毁二叉树 1.5层次打印 谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错&#xff0c;说的就是你&#xff0c;不用再怀疑&…

前端实现 http请求中 表单请求体和json请求体的互相转换,外加转为 冒号换行格式,用于ApiFox批量导入

在线体验&#xff1a;https://ikaros-521.github.io/dev_tool/http/param_json_converter.html 直接上源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Query String to JSON Converter</titl…

慢SQL定位及优化

1.如何定位慢查询 方案1&#xff1a;开源工具 调式工具&#xff1a;Arthas 运维工具&#xff1a;Prometheus、Skywalking 方案2&#xff1a;MySQL自带慢日志 慢查询日志记录了所有执行时间超过指定参数&#xff08;long_query_time&#xff0c;单位&#xff1a;秒&#xff0c…

QT error: undefined reference to `vtable for Net‘

报错 C:\Users\Administrator\Desktop\VideoHill\GikISearch\net.cpp:4: error: undefined reference to vtable for Net 以下是两个可能错误原因 1&#xff0c;未定义Q_OBJECT 宏 在头文件中加上 加上#include <QObject>&#xff0c; 改写继承QObject 和定义宏 …

【HarmonyOS】鸿蒙应用蓝牙功能实现 (三)

【HarmonyOS】鸿蒙应用蓝牙功能实现 &#xff08;三&#xff09; 前言 今天整理蓝牙Demo代码&#xff0c;查看官网时发现自己帐号没有登录&#xff0c;竟然也可以访问最新的API文档&#xff0c;真是喜大奔普。看来华为已经开始对外开放最新的API文档&#xff0c;不再有白名单…

Leetcode每日刷题之面试题01.06字符串压缩(C++)

1.题目解析 本题的目的是遍历一个字符串&#xff0c;将重复的字符串以该字符出现次数进行压缩&#xff0c;最终返回压缩后的字符串即可 题目来源&#xff1a;面试题01.06.字符串压缩 2.算法原理 我们从左往右遍历字符串&#xff0c;用 ch 记录当前要压缩的字符&#xff0c;cnt …

交叉编译Qt5.12.8附带编译opengl

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、重要说明二、准备环境1.下载qt5.12.8源代码2.配置系统环境3.安装必要工具4.解压qt5源代码5.开始配置编译6.配置qtcreator 三、编译opengl总结 前言 最近有…

zdppy+vue3+onlyoffice文档管理系统实战 20240825上课笔记 zdppy_cache框架增加resize清理缓存的方法

遗留问题 设置缓存&#xff0c;已完成获取缓存&#xff0c;已实现删除缓存&#xff0c;已实现查询所有key&#xff0c;带查询参数&#xff1a;active只查激活的&#xff0c;value包含value默认只获取key查询缓存大小清空缓存判断是否为管理员 实现删除缓存的接口 async def …

[C语言]一、C语言基础

G:\Cpp\C语言精讲 1. C语言入门 1.1 初识计算机语言 计算机编程语言&#xff0c;就是人与计算机交流的方式。人们可以使用编程语言对计算机下达命令&#xff0c;让计算机完成人们需要的功能。 计算机语言有很多种。如&#xff1a;C 、C、Java、Go、JavaScript、Python&#x…

音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息

通过FFprobe命令可以显示WAV音频文件每个packet&#xff08;也称为数据包或多媒体包&#xff09;的信息&#xff1a; ffprobe -of json -show_packets XXX.wav 输出如下&#xff1a; 其中&#xff1a; 1.codec_type&#xff1a;packet类型&#xff0c;表示该路流是视频还是音…

【CSS】使用 CSS 自定义属性(变量)-- var()

自定义属性&#xff08;有时候也被称作CSS 变量或者级联变量&#xff09;是由 CSS 作者定义的&#xff0c;它包含的值可以在整个文档中重复使用。由自定义属性标记设定值&#xff08;比如&#xff1a; --main-color: black;&#xff09;&#xff0c;由 var() 函数来获取值&…

一台电脑配置两个Git账号(github和gitlab),不同仓库使用不同的git

我们工作时一般都是使用gitlab&#xff0c;工作电脑也一般配置的 git 是连接 gitlab 的&#xff0c;那么当我们如果想用同一个电脑实现不同仓库根据自己的需要到底是推送代码到github还是 gitlab&#xff0c;以及使用哪个账号&#xff0c;(比如如果想用工作电脑维护自己的 gith…

C语言学习,Turbo C 开发环境回顾

&#xff08;1&#xff09;Turbo C 集成开发环境&#xff1a; &#xff08;2&#xff09;按AltF&#xff0c;进入File菜单&#xff1a; &#xff08;3&#xff09;按AltR&#xff0c;进入Run菜单&#xff1a; &#xff08;4&#xff09;按AltC&#xff0c;进入Compile菜单&…

Java 入门指南:Java 泛型(generics)

Java 泛型概要 Java 泛型&#xff08;generics&#xff09; 是 JDK 5 中引入的一个新特性。泛型的本质是参数化类型&#xff0c;也就是所操作的数据类型被指定为一个参数&#xff08;可以称之为类型形参&#xff0c;然后在使用/调用时传入具体的类型。&#xff09; 使用 Java …