实现了ApplicationRunner但没有启动解决方案
更新时间:2025年09月16日 08:39:11 作者:程序猴周某
项目重构为多模块SpringBoot后,启动类位置不当导致NettyStartListener未被扫描,通过调整启动类到上一级包,解决了@Compment注解失效问题,使Netty启动功能正常运行
背景
项目结构重构,由原先的单模块SpringBoot项目改为多模块的SpringBoot项目,结构如图:

lcs和wms为两个业务模块,启动程序放在web模块中
问题
NettyStartListener实现了ApplicationRunner,但服务启动后,netty服务没有一起启动

排查及解决

查询Spring源码,在图中所示处打了断点,但断点过后(会多次进入断点),runners中没有想要的 NettyStartListener 类。
由于项目之前是netty是可以成功启动的,所以怀疑是NettyStartListener上的@Compment没有生效,在网上查询,了解到:springboot默认扫描启动类同级包和同级的子包内容,查询项目包结构,发现启动类所在位置不对,如图:

而NettyStartListener所在位置为:
package org.springblade.tcp.server;
然后将启动程序移到上一级后,问题解决。

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java基于中介者模式实现多人聊天室功能示例
这篇文章主要介绍了Java基于中介者模式实现多人聊天室功能,详细分析了中介者模式的概念、原理以及使用中介模式实现多人聊天的步骤、操作技巧与注意事项,需要的朋友可以参考下
2018-05-05
Spring解决循环依赖问题的三种方法小结
在 Spring 中,循环依赖问题指的是两个或多个 bean 之间相互依赖形成的闭环,具体而言,当 bean A 依赖于 bean B,同时 bean B 也依赖于 bean A,就形成了循环依赖,本文就给大家介绍了Spring解决循环依赖问题的三种方法,需要的朋友可以参考下
2023-09-09
Java内部类之间的闭包和回调详解
相信闭包和回调对每位学习Java的人来说都不陌生,那么今天小编和大家分享一篇关于Java内部类之间的闭包和回调,有需要的可以参考借鉴。
2016-09-09
Java原生序列化和反序列化代码实例
这篇文章主要介绍了Java原生序列化和反序列化代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2020-02-02
Spring AI 文档的提取、转换、加载功能实现
Spring AI 是一个基于 Spring 生态系统的框架,旨在简化人工智能和机器学习模型的集成,本文将介绍如何使用 Spring AI 和 Apache Tika 构建一个简单的 ETL 管道,特别是如何利用 spring-ai-tika-document-reader 依赖来处理和转换文档数据,感兴趣的朋友一起看看吧
2024-11-11
java排序算法之冒泡排序
这篇文章主要为大家详细介绍了java排序算法之冒泡排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2021-05-05
最新评论