springboot多模块开发中实现打包

2023-11-05

前言

因为我使用的是idea社区版,所以在创建项目的时候他没有springboot的选项,所以只能创建普通maven项目
在这里插入图片描述
创建完成查看项目结构和pom文件
在这里插入图片描述
这里我并没有觉得有什么不对劲,所以没管,就去搭建其他模块了,这里就不展示了。

后来我需要把项目进行打包放到服务器上运行的时候,出问题了。

我是正常的把父工程clear -> install后然后在去运行启动工程的jar包,这是我还原出来的错:
在这里插入图片描述

解决方法

1、先贴上我的项目结构
在这里插入图片描述
说一下依赖关系后面有用到

  • common 依赖 system
  • system 依赖 common

2、首先你的父工程要有子工程的模块 并且 要声明打包方式为pom
在这里插入图片描述

3、倒着来,admin -> system ->common 在pom文件中修改

  • pom.xml(sm-admin)
    在这里插入图片描述
    <build>
        <!--使用的插件列表 。 -->
        <plugins>
            <!--plugin元素包含描述插件所需要的信息。 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--作为DOM对象的配置 -->
                <configuration>
                    <!-- 如果未指定,main将使用找到的第一个包含方法的编译类。这里指定启动类-->
                    <mainClass>com.SmApplication</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • pom.xml(sm-system)
    在这里插入图片描述
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 您可以通过在配置部分上添加参数skip来跳过启动 -->
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • pom.xml(sm-common)
    在这里插入图片描述

4、完成上面那步后,记得重新加载一下maven

  • 这里关于maven的打包有一个执行顺序,跟我上面提到的依赖关系有关
  • 首先是 针对父工程 clear -> install
    在这里插入图片描述
  • 根据依赖关系 依次执行
    在这里插入图片描述
  • 执行完后查看控制台,前往jar包的目录执行
    在这里插入图片描述

5、执行 java -jar sm-admin-1.0-SNAPSHOT.jar
在这里插入图片描述

上面就是我解决方法,如果这篇文章描述的不够清晰,可以前往B站查看视频 springboot模块化开发项目搭建以及打包部署流程

我也是根据观看视频后解决的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot多模块开发中实现打包 的相关文章

随机推荐

  • 多线程的创建方式

    多线程的创建有七种方式 1 继承Thread类创建线程 2 实现Runnable接口创建线程 3 使用匿名内部类的形式创建线程 4 使用lambda表达式创建线程 5 使用Callable和Future创建线程 6 使用线程池例如用Exec
  • linux关于数据库命令之hive/beeline

    详细内容参考 https blog csdn net appleyuchi article details 81260376 beeline u jdbc hive2 127 0 0 1 10000 连接数据库 show databases
  • 高斯混合模型(GMM)及EM算法---MATLAB程序

    大家喜欢的话记得关注 点赞 收藏哦 高斯混合模型 Gaussian Mixed Model GMM 是由多个高斯分布函数组成的线性组合 理论上 GMM可以拟合出任意类型的分布 通常用于解决同一集合下的数据包含多个不同分布的情况 转自 htt
  • windows安装mysql5.7配置教程

    1 解压安装包 配置my ini mysqld 端口号 port 3306 mysql 5 7 27 winx64的路径 basedir D mysql5 7 mysql 5 7 27 winx64的路径 data datadir D my
  • html分列代码,科学网—EXCEL 分列 (TextToColumns) 的C#代码 - 丁祥欢的博文

    EXCEL中有一个有用的功能 叫做 分列 顾名思义 EXCEL中将一串文本根据选择的分隔符对文本进行分解 从而产生几列数据 这个功能最常用的地方应该是导入一些文本形式的数据时 特别有用 比如导入CSV格式的数据 举个简单的例子 假设有一行数
  • Eclpise项目如何导入外部jar包

    1 在eclipse项目下建lib文件夹 存放jar包 2 下载所需jar包 拷贝lib文件夹下 解压后的版本 3 重要 设置jar包进项目的classpath 项目名上右击 依次选择 Build Path gt Configure Bui
  • Make NSISW打包异常-cannot call AccessControl::GrantOnFile

    重装电脑系统和NSIS后 使用相同的脚本 无法创建安装包 显示如下错误 Plugin directories C Program Files x86 NSIS Plugins x86 ansi Plugin not found cannot
  • Base64 example

    我们的图片大部分都是可以转换成base64编码的data image 这个在将canvas保存为img的时候尤其有用 虽然除ie外 大部分现代浏览器都已经支持原生的基于base64的encode和decode 例如btoa和atob 将ca
  • Netty的拆包粘包问题

    Netty使用的是TCP IP协议 必然会遇到拆包粘包的问题 Netty也给出了相关的解决方案 记录下Netty如何解决拆包粘包问题 TCP IP协议是 流 协议 就是类似水流一样的数据传输方式 当我们多次请求的时候 就会存在多发送和少发送
  • 从plsql导出ddl到PowerDesigner

    1 plsql导出ddl 工具 导出用户对象 选择需要到处的表 多选框 全部不掉 单选框 选单个文件 导出 2 PowerDesigner导入ddl 快捷键Ctrl R DataBase gt Update Model From Datab
  • Python如何判断输入的字符串是否是int或者float或者字符

    1 题目要求 在上一次猜游戏实验题目的基础上 完善程序 实现如下的功能 系统自动生成 1 100 以内的随机整数 让用户通过键盘输入所猜的数 如果 大于预设的数 显示 遗憾 太大了 小于预设的数 显示 遗憾 太小了 如此循环 直到猜中该数
  • 项目管理java_java项目管理经验总结

    1 谈完钱之后 这件事儿就与钱无关了 大家的一致目标就是把这个活干完 干好 别干到一半的时候跟我提钱太少 活太多的屁话 2 接私活主要是看组员是否有足够的时间 精力 能力来投入这件事情 三者缺一不可 我们之前就经常被坑 3 时刻要记住 钱不
  • mysql数据库修改密码的几种方法

    文章目录 MYSQL修改用户密码 update set grant mysqladmin 在日常使用mysql数据库的时候 我们有修改mysql数据库密码的需求 以下介绍四种修改mysql数据库密码的方法 MYSQL修改用户密码 updat
  • windows触摸板的操作

    一 单指 1 轻触 鼠标左键 2 双击后不松开 长按鼠标左键 这个不太好操作 二 双指 1 轻触 鼠标右键 2 上下滑动 鼠标滑轮 3 双指缩放 网页或图片的大小缩放 三 三指 1 轻触 打开搜索 2 下滑 回到桌面 3 上滑 打开程序管理
  • 点击按钮,QMovie动画播放结束时关闭当前窗口

    点击QToolButtoon弹出一个widget widget上有一个按钮 点击按钮后开始播放动画 当动画播放结束的时候发送finish信号 通知窗口关闭函数去关闭当前窗口 点击按钮播放此动画 直接拖控件完成布局 上代码 main cpp
  • C++11 map实现插入后按value自动排序

    本质上还是使用了map自动按照key进行排序的原理 所以将value放入key中可实现按value排序 include
  • 简单记录vue下单元测试及Mock数据

    1 vue cli 创建一个demo 创建一个 demo vue create demo 在VUE CLI 是有提供测试插件的 所以在构建项目时选择一个测试框架 运行测试脚本 在package json 中可以看到运行测试脚本命令 npm
  • 倾心倾力之作《Qt 5.9 C++开发指南》

    五一假期前收到了人民邮电出版社寄来的书 我们写的 Qt 5 9 C 开发指南 终于印刷出来了 从2016年11月开始写书 到今天终于印刷出版 历时约一年半 现在它终于面世了 成书过程 由于做项目的需要 在2014年开始转而用Qt编写软件 在
  • 301与302区别

    301与302区别 定义如下 301 Moved Permanently 被请求的资源已永久移动到新位置 并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一 如果可能 拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器
  • springboot多模块开发中实现打包

    前言 因为我使用的是idea社区版 所以在创建项目的时候他没有springboot的选项 所以只能创建普通maven项目 创建完成查看项目结构和pom文件 这里我并没有觉得有什么不对劲 所以没管 就去搭建其他模块了 这里就不展示了 后来我需