idea中使用maven进行多模块打包部署时jar包中无依赖的问题(示例:jar包才5k,且无法正常启动)
创始人
2025-05-30 09:22:53
0

引言

模块关系:

  • A:代表父工程
  • B:代表WEB模块,主加载类所在模块
  • S:业务处理模块
  • D:数据处理模块
  • E:基础模块

依赖关系如下:

  • D依赖E
  • S依赖E
  • B依赖D,B依赖S

第一次进行maven多模块的打包,在打包过程中遇到了些许问题(模块关系与依赖关系如上所述):

  1. 如何进行打包
  2. 打包后jar包过小,检查后发现其中没有lib依赖

image-20230318003308569

问题解决

**注意:**父工程中打包方式需要设置为pom,子工程中不需要设置打包方式

示例:

pom

A模块pom文件配置

即父工程的pom.xml文件

注意:

  • pom 中一定要指定 maven-compiler-pluginmaven-surefire-plugin 插件。
  • pom 打包类型写 pom 包。
org.apache.maven.pluginsmaven-compiler-plugin3.1${java.version}${java.version}org.apache.maven.pluginsmaven-surefire-plugin2.19.1true    

B模块pom文件配置

主加载类所在模块,如果有多个模块有主加载类,则都需要加上

注意:

  • 子 pom 文件中一定要指定spring-boot-maven-plugin插件和主启动类的 全类名
  • jar打包类型写 Jar包。(这个我不确认,我没有加,如果不行的话可以加上试试)

org.springframework.bootspring-boot-maven-plugincom.lzj.WebDemoApplicationZIPrepackage

打包

在父工程下进行打包(有root标识)

**步骤:**点击Maven->点击父工程(如图中是aws_demo)->Lifecycle->clean->install->package

打完包后就可以进行部署了

image-20230318002855238

总结

经过上述打包操作后,拥有主加载类的模块中的jar包就可以在linux或windows中去运行了。

相关内容

热门资讯

【srs】源码构建srs5.0... 3 对比了http server 发现srs更稳定和更受欢迎 5.0 git clone -b 5...
day5—选择题 文章目录1.下面的程序 编译运行后,在屏幕上显示的结果是(A࿰...
中文代码120 PK      嘚釦                docProps/PK    嘚釦X雋  y  ...
金三银四互联网大厂最全1000... Java 面试 大家都知道,现在的 Java 面试是越来越难了!主要原因...
【RocketMQ】源码详解:... 消费者启动 入口 : org.apache.rocketmq.client.impl....
Nuxt.js - nuxt/... 文章目录nuxt2基础添加拦截器使用nuxt3后续会更新 nuxt2 官方文档 基础 下载,新建好...
怎么看时序图 | 从时序理解嵌... 版权声明: 著作权归元存储,禁止转载 Hello 大家好, 我是元存储~ 主页:元存储的博客_CSD...
数据结构 -- 线性表:定长顺... 一、顺序表 概念: 是一种线性结构(1对1的关系)...
WPF DataGrid突出显...  DataGrid有时需要对某个表格的数据进行突出显示: 思路:利用IM...
SpringBoot学习笔记(... 文章目录2 依赖管理和自动配置2.1 依赖管理2.1.1 什么是依赖管理2.1.2 修改自动仲裁/默...
Hadoop--万恶NameN... 每次用到Hadoop集群时NameNode总有各种各样奇奇怪怪的问题启动不了或者hdfs用9870端...
《Linux是怎样工作的》 读... 内存管理 Linux通过内核中名为内存管理系统的功能来管理系统上搭载的所有内存。除了各种进程以外&...
umi配置多环境变量并在doc... umi配置多环境变量并在docker中跑起来1、项目背景2、配置环境变量3、使用docker 容器 ...
MATLAB R2023a更新... R2023a来啦!!废话不多说看看新版本有啥有趣的玩意和好玩的特性叭&#...
古典密码学 主要划分方式及其分类按密钥方式划分:对称,非对称按明文处理方式分...
MySQL与分布式:主从复制 文章目录MySQL与分布式一、Linux下载 MySQL二、主从复制①修改配置文件②配置主机③配置从...
2023年3月广州/东莞/惠州... 软考是全国计算机技术与软件专业技术资格(水平)考试(简称软...
Android异步消息机制 一、异步消息处理机制Handler Android中的异步消息处理主要由4个部分组成:...
UART驱动情景分析-注册 一、tty串口驱动框架 应用程序通过某一个设备节点来访问驱动程序,设备节点都对应了某些...
leetcode 1092. ... 给出两个字符串 str1 和 str2,返回同时以 str1 和 str2 作为子序列...