(javaweb)maven高级

目录

​编辑

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版本

//上传到私服

相关推荐
KATA~3 分钟前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
xyliiiiiL18 分钟前
一文总结常见项目排查
java·服务器·数据库
shaoing20 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
腥臭腐朽的日子熠熠生辉1 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian1 小时前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之1 小时前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码2 小时前
Spring Task 定时任务
java·前端·spring
俏布斯2 小时前
算法日常记录
java·算法·leetcode
27669582922 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿
爱的叹息2 小时前
Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比
java·redis·spring