springboot多模块打包后,无法扫描子包jar中的注解,哪位大神遇到过?

发布于 2021-12-05 19:32:42 字数 1483 浏览 871 评论 9

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

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

启动后如下:

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

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

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

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<addMavenDescriptor>true</addMavenDescriptor>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
						</manifest>
						<manifestEntries>
							<Implementation-Build>${buildNumber}</Implementation-Build>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>

哪位大神有这样的配置指点一下,或者有别的解决方法也可。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

静谧 2021-12-09 15:06:34

可以这样解决:

其中红框为需要加载的jat包中的启动类

醉生梦死 2021-12-09 15:06:33

另外boot插件不用加别的东西

刘备忘录 2021-12-09 15:06:32

在模块中也加上boot启动类,按正常启动jar 那种,加上注解等,然后再在需要的模块中将原先的启动类中的参数改成入参为数组将两个启动类加入数组

因为看清所以看轻 2021-12-09 15:06:30

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

反话 2021-12-09 15:06:20

我这为啥没问题呢

风柔一江水 2021-12-09 15:04:32

回复
@哎码 : 多谢例子,已经解决,经对比,我的打包build配置写在了父pom中,改到主pom中就可以了,可能是子模块用springboot的默认打包方式会加上org.springframework的路径的缘故,取消继承build,就好了

海之角 2021-12-09 15:01:50

回复
你是怎么解决的?我这还是不行啊

悲喜皆因你 2021-12-09 14:55:25

回复
你的是什么问题?

多情癖 2021-12-09 14:21:37
https://git.oschina.net/consolelog/spring-boot-modules.git
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文