Maven高级

分模块设计


不需要创建SpringBoot模块,而只需要Maven模块。将原工程对应的包移到当前Maven工程中并解决对应的依赖问题。记得java包下的package使用相同的名称

直接将工程作为依赖引入

继承与聚合

继承

在刚刚的分模块设计中,每一个模块都需要导入对应的依赖。比较麻烦

继承关系

每一个SpringBoot工程中都有一个统一的父工程

打包方式:

Maven中支持多重继承但不支持多继承所以需要让父工程集成spring--boot-starter-parent

<relativerPath>如果不设置,则默认从本地仓库中进行查找,指定的是父工程的pom文件的相对路径


两种不同的父子工程组织关系:

版本锁定

父工程中只是完成了依赖管理的功能,而并没有引入依赖。子工程如果想要使用仍需要手动进行引入

这样就可以集中维护

SpringBoot中有些依赖不需要指定版本,这是因为在SpringBoot-start的总的父工程中已经通过依赖管理进行了集中管理

聚合

进行分模块设计要打包时,记得要先执行子工程的install周期,将其安装到maven的本地仓库中。如果分的模块较多,依赖较为复杂是,这样打包会很麻烦。

聚合完成后,执行一个聚合工程的生命周期,就会执行其所有子工程的相应的生命周期

私服

介绍

资源的上传和下载

release和snapshot来自项目组共享的资源

central即为中央仓库的资源


在pom文件中配置

Maven工程的文件夹中

记得第二步和第三步的ID一 一对应

配置是否可以从对应的仓库中下载

执行项目周期的deploy模块就可以将开发的模块上传到私服中

相关推荐
lhldsg10 小时前
全民健身解决方案小程序开发:从0到1的技术实战
java·数据库·需求分析
jason成都10 小时前
Spring WebFlux 适配达梦新方案|dm‑r2dbc:Netty 异步传输的实验性 R2DBC 驱动
java·后端·spring
泡海椒10 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
辰烨chenye10 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
小羊没烦恼!11 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
小荷才露尖尖角,早有蜻蜓立上头12 小时前
过滤器的4种创建方式
java
大圣编蚕12 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
程序员阿明12 小时前
idea把插件啥的不默认放在C盘
java·ide·intellij-idea
linweidong13 小时前
中科闻歌Java面试题及参考答案
java·python·大模型·提示词·ai agent·mcp·rag原理
OpenAnolis小助手13 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom