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

SpringBoot(十九)创建多模块Springboot项目(完整版)

之前我有记录过一次SpringBoot多模块项目的搭建,但是那一次只是做了一个小小的测试。只是把各模块联通之后就结束了。

 

最近要增加业务开发,要将目前的单模块项目改成多模块项目,我就参照了一下我上次搭建的流程,发现总是有报错。上次搭建的比较顺利,很多细枝末节也没有仔细去研究。结果就是这次多模块项目搭建的过程就充满了奇幻。就有了这篇笔记。

 

一:创建父项目

首先我们先在IDEA中创建一个父项目,使用Maven托管。如下图所示:

点击下一步,不需要添加任何依赖,点击创建完成即可。

项目创建成功如下图所示:

删除图上红框标注的所有文件,只保留pom.xml

 

二:创建子项目

我这里现阶段有两个子项目,分别是入口模块Entry和功能模块WxProgram。

我们先来创建入口模块Entry,入口模块,顾名思义就是他只做入口使用,除了启动类之外,没有其他任何功能。

功能模块WxProgram,就是一个完整的SpringBoot项目,该有的功能都有,例如:Controller,service,dao,pojo,filter等

 

1:创建功能模块WxProgram

这个跟创建父工程的流程是一样的,唯一不同的就是第一步,如下图所示:

 

建议创建子模块的包名是一致的,我这里使用的组名是:com.modules(建议每个子模块使用的组名都一致)

 

2:创建入口模块entry

参考创建功能模块WxProgram

 

三:配置父模块pom.xml

父模块得配置pom.xml比较简单,分为三部分:

1:打包方式:

<!-- 父模块的打包方式-->
<packaging>pom</packaging>

2:配置子模块

<!--将子模块放在一堆    start   -->
<modules><module>WxProgram</module><module>Entry</module>
</modules>
<!--将子模块放在一堆    end     -->

3:配置build插件

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version><configuration><skipTests>true</skipTests>    <!--默认关掉单元测试 --></configuration></plugin></plugins>
</build>

相关文章:

SpringBoot(十九)创建多模块Springboot项目(完整版)

之前我有记录过一次SpringBoot多模块项目的搭建,但是那一次只是做了一个小小的测试。只是把各模块联通之后就结束了。 最近要增加业务开发,要将目前的单模块项目改成多模块项目,我就参照了一下我上次搭建的流程,发现总是有报错。上次搭建的比较顺利,很多细枝末节也没有仔细…...

Navicat 17 功能简介 | 单元格编辑器

Navicat 17 功能简介 | 单元格编辑器 本期&#xff0c;我们一起了解 Navicat 17 出色的数据操作功能的单元格编辑器。单元格编辑器支持文本、十六进制、图像和网页四种格式的数据编辑&#xff0c;位于底部的编辑器窗格&#xff0c;为你编辑更大容量的数据信息提供足够的显示和操…...

MySQL【四】

插入数据 向数据表中插入一行数据 INSERT|REPLACE INTO 表名[(字段列表)] VALUES(值列表); ########## 在s表中插入一条记录&#xff1a;学号为s011,姓名为李思&#xff0c;性别为默认值&#xff0c;计算机专业 ########## insert into s(sno,sname,dept)values(s011,李思,计…...

简单叙述 Spring Boot 启动过程

文章目录 1. 准备阶段&#xff1a;应用启动的入口2. 创建 SpringApplication 对象&#xff1a;开始启动工作3. 配置环境&#xff08;Environment&#xff09;&#xff1a;识别开发环境与生产环境4. 启动监听器和初始化器&#xff1a;感知启动的关键事件5. 创建 ApplicationCont…...

微信小程序自定义tabbar;禁用某个tab;修改某个tab的样式

微信小程序自定义tabbar&#xff1b;禁用某个tab&#xff1b;修改某个tab的样式 原本使用本身的tabBar就已经很舒服了&#xff0c;很合适了的&#xff0c;但是总有一些脑洞大开的产品和客户&#xff0c;给你搞点多样式&#xff0c;没办法牛马就得去做咯&#xff0c;现在就给大…...

力扣113:路径总和II

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…...

JavaScript字符串常用方法

在JavaScript中&#xff0c;字符串是用来表示文本数据的基本数据类型。字符串可以用单引号()、双引号(")、或反引号()包裹。JavaScript中的字符串是不可变的&#xff0c;也就是说&#xff0c;字符串的值一旦创建就无法更改&#xff0c;但可以创建新字符串来替换原有字符串…...

xtu oj 加一

样例输入# 2 4 1 2 3 4 4 3 2 4 1样例输出# 3 5 解题思路&#xff1a;最小操作次数一定是把所有数变成数组中最大值max。 1、找最大值&#xff0c;一开始我把max初始值设为0&#xff0c;如果a[i]>max,maxa[i],WA了。又看了一遍题目&#xff0c;发现所有整数的绝对值小于…...

QTcpSocket 服务端和客户端

前提&#xff1a; pro文件中添加 QT network 服务端主要采用信号槽机制&#xff0c;代码如如下 核心代码头文件#ifndef TCPSERVER_H #define TCPSERVER_H#include <QObject>#include <QTcpServer> #include <QTcpSocket> #include <QDebug> #inclu…...

Isaac Sim+SKRL机器人并行强化学习

目录 Isaac Sim介绍 OmniIssacGymEnvs安装 SKRL安装与测试 基于UR5的机械臂Reach强化学习测评 机器人控制 OMNI GYM环境编写 SKRL运行文件 训练结果与速度对比 结果分析 运行体验与建议 Isaac Sim介绍 Isaac Sim是英伟达出的一款机器人仿真平台&#xff0c;适用于做机…...

项目中用户数据获取遇到bug

项目跟练的时候 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘code’) at Proxy.userInfo (user.ts:57:17) 因此我想要用result接受信息的时候会出错&#xff0c;报错显示为result.code没有该值 导致我无法获取到相应的数据 解决如下 给…...

SpringSecurity+jwt+captcha登录认证授权总结

SpringSecurityjwtcaptcha登录认证授权总结 版本信息&#xff1a; springboot 3.2.0、springSecurity 6.2.0、mybatis-plus 3.5.5 认证授权思路和流程&#xff1a; 未携带token&#xff0c;访问登录接口&#xff1a; 1、用户登录携带账号密码 2、请求到达自定义Filter&am…...

项目技术栈-解决方案-web3去中心化

web3去中心化 Web3 DApp区块链:钱包:智能合约:UI:ETH系开发技能树DeFi应用 去中心化金融P2P 去中心化网络参考Web3 DApp 区块链: 以以太坊(Ethereum)为主流,也包括Solana、Aptos等其他非EVM链。 区块链本身是软件,需要运行在一系列节点上,这些节点组成P2P网络或者半…...

【AI声音克隆整合包及教程】第二代GPT-SoVITS V2:创新与应用

一、引言 随着科技的迅猛发展&#xff0c;声音克隆技术已经成为一个炙手可热的研究领域。SoVITS&#xff08;Sound Voice Intelligent Transfer System&#xff09;&#xff0c;作为该领域的先锋&#xff0c;凭借其卓越的性能和广泛的适用性&#xff0c;正在为多个行业带来前所…...

分清数据链路层、网络层、传输层的区别,以及这些层面的代表协议

目录 数据链路层 网络层 传输层 数据链路层 OSI模型的第二层&#xff0c;负责在相邻节点之间传输帧&#xff0c;处理帧的封装、地址、差错控制和流量控制等。确保数据在物理介质上可靠地传输&#xff0c;并为上层协议提供服务。 以太网&#xff08;Ethernet&#xff09;&…...

git没有识别出大写字母改成小写重命名的文件目录

Git 默认不会跟踪大写字母和小写字母的区别&#xff0c;因为在大多数文件系统中&#xff0c;大写字母和小写字母被认为是相同的文件&#xff0c;只有在区分大小写的文件系统中&#xff08;如 macOS 的 HFS 或 Windows 的 NTFS&#xff09;&#xff0c;这才是一个问题。 如果重命…...

自己动手写Qt Creator插件

文章目录 前言一、环境准备1.先看自己的Qt Creator IDE的版本2.下载源码 二、使用步骤1.参考原本的插件2.编写自定义插件1.cmakelist增加一个模块2.同理&#xff0c;qbs文件也增加一个3.插件源码 三、效果总结 前言 就目前而言&#xff0c;Qt Creator这个IDE&#xff0c;插件比…...

数据重塑:长宽数据转换【基于tidyr】

在数据分析和可视化过程中&#xff0c;数据的组织形式直接影响着我们能够进行的分析类型和可视化效果。这里简单介绍两种常见的数据格式&#xff1a;长格式&#xff08;Long Format&#xff09;和宽格式&#xff08;Wide Format&#xff09;&#xff0c;以及如何使用tidyr包进行…...

多模态大模型开启AI社交新纪元,Soul App创始人张璐团队亮相2024 GITEX GLOBAL

随着AI在全球范围内的加速发展和广泛应用,各行业纷纷在此领域发力。作为全球最大的科技盛会之一,2024年的GITEX GLOBAL将目光再次聚焦于人工智能的飞速发展,吸引了超过6700家来自各个领域的企业参与。在这样的背景下,Soul App作为国内较早将AI技术应用于社交领域的平台,首次亮相…...

实验6记录网络与故障排除

实验6记录网络与故障排除 实验目的及要求&#xff1a; 通过实验&#xff0c;掌握如何利用文档记录网络设备相关信息并完成网络拓扑结构的绘制。能够使用各种技术和工具来找出连通性问题&#xff0c;使用文档来指导故障排除工作&#xff0c;确定具体的网络问题&#xff0c;实施…...

Buck变换器的闭环控制在恒功率负载场景下是个挺有意思的挑战。最近用Simulink搭了个完整的仿真平台,这里把建模过程和控制策略掰开揉碎了聊聊

恒功率负载下Buck变换器的建模与控制simulink仿真文 件 亲手搭建 现代控制理论 附赠参考文献 另有一份word或PDF报告可加价先看电路拓扑结构&#xff0c;典型的Buck电路由开关管、续流二极管、LC滤波电路组成。在恒功率负载条件下&#xff0c;负阻抗特性会导致系统稳定性问题—…...

极速AI绘图新体验:Qwen-Image 2步Turbo LoRA来了

极速AI绘图新体验&#xff1a;Qwen-Image 2步Turbo LoRA来了 【免费下载链接】Qwen-Image-2512-Turbo-LoRA-2-Steps 项目地址: https://ai.gitcode.com/hf_mirrors/Wuli-art/Qwen-Image-2512-Turbo-LoRA-2-Steps 导语&#xff1a;AI图像生成领域再迎新突破——Wuli团队…...

开源项目依赖管理:从冲突解决到高效协作的实践指南

开源项目依赖管理&#xff1a;从冲突解决到高效协作的实践指南 【免费下载链接】IPED IPED Digital Forensic Tool. It is an open source software that can be used to process and analyze digital evidence, often seized at crime scenes by law enforcement or in a corp…...

Android密钥认证踩坑实录:GtsGoogleAttestationHostTestCases模块fail排查指南

Android密钥认证深度排错指南&#xff1a;从GtsGoogleAttestationHostTestCases失败到系统级修复 当你深夜盯着CI系统里那片刺眼的红色——GtsGoogleAttestationHostTestCases模块测试失败时&#xff0c;作为Android系统工程师的你是否感到一阵窒息&#xff1f;这不仅仅是又一个…...

【Jetson Orin-NX】TensorRT并发推理实战:多模型协同下的YOLO性能优化与部署

1. Jetson Orin-NX与TensorRT并发推理基础 Jetson Orin-NX作为NVIDIA面向边缘计算推出的AI计算平台&#xff0c;其搭载的Ampere架构GPU和12核ARM CPU为多模型并发推理提供了硬件基础。我在实际项目中发现&#xff0c;当我们需要同时运行目标检测&#xff08;YOLOv8n&#xff09…...

StarRocks新手入门:如何用CloudDM个人版快速验证四种数据模型的特点?

StarRocks数据模型实战指南&#xff1a;用可视化工具快速掌握四大核心特性 刚接触StarRocks时&#xff0c;最让人困惑的莫过于四种数据模型的选择。官方文档虽然详细&#xff0c;但缺乏直观对比。本文将带你使用CloudDM个人版&#xff0c;通过同一组测试数据在四种模型下的不同…...

从71.5%到87.5%:我是如何用PyTorch+ResNeXt101优化GTZAN音乐分类精度的(附完整代码)

从71.5%到87.5%&#xff1a;PyTorch音乐分类模型优化实战全解析 音乐分类任务一直是音频处理领域的热门研究方向。在GTZAN数据集上&#xff0c;我们经常会遇到基础模型表现不佳的问题——比如使用ResNet18时验证集准确率仅能达到71.5%。本文将详细分享如何通过一系列优化策略&a…...

SEO_2024年最有效的SEO策略与核心技巧分享

2024年最有效的SEO策略与核心技巧分享 在数字营销领域&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;始终是网站流量提升的关键。2024年&#xff0c;随着搜索引擎算法的不断更新和用户行为的变化&#xff0c;SEO策略也在不断演变。本文将详细分享2024年最有效的SEO策略与…...

NameNode 和 DataNode 无法同时启动

NameNode 和 DataNode 无法同时启动步骤如下。1. 检查配置文件确保 hdfs-site.xml 和 core-site.xml 的配置正确。1.1 hdfs-site.xml检查以下配置&#xff1a;dfs.namenode.name.dir&#xff1a;NameNode 的元数据存储路径。dfs.datanode.data.dir&#xff1a;DataNode 的数据存…...

基于天棚控制原理的半主动悬架模型探索

基于天棚控制原理的半主动悬架模型 详细介绍&#xff1a;采用天棚阻尼控制的1/4主动悬架模型&#xff0c;以车身垂向加速度为控制目标&#xff0c;输入为B级随机路面&#xff0c;输出为车身垂向加速度、轮胎动载荷、悬架动挠度等平顺性评价指标&#xff0c;并计算了各个参数的均…...