springboot的web工程打成jar后启动扫描不到serv

2020-07-28  本文已影响0人  胡鹏_242e

springboot多模块打包问题:本人新建了一个springboot项目,后想扩展为多模块形式,增强扩展性,但发现springboot无法扫描到子模块中的注解,后在启动类中加入扫描路径,springboot在IDE中成功启动,子模块中的注解也可以扫描到了,如下。

@SpringBootApplication(scanBasePackages={"com.news.*"})

启动后如下:

可见已经成功启动服务并扫描出子包中的注解,经测试可以正常使用,

使用spingboot自带的插件打包并指定入口,且子包依赖也正常,打包后启动

服务依旧正常启动,不过子包中的注解没有被扫描到,据查子包被打成jar包后路径有问题,必须将子包中的路径加入清单文件,不过我不知道maven怎么加?

我也遇到类似问题

https://blog.csdn.net/asing1elife/article/details/82811826?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

解决方案,删除父工程的这个插件配置,只在web工程增加这个编译插件

我们不应该给 parent 项目添加 spring-boot-maven-plugin 构建插件,而应该给终端项目使用,因为这个插件的 repackage 目标会处理 jar 包,导致依赖它的模块无法使用它。在 parent 项目中使用它会导致每个子项目都执行了该目标,进而出现编译失败。

上一篇下一篇

猜你喜欢

热点阅读