我是靠谱客的博主 自信雪糕,最近开发中收集的这篇文章主要介绍SpringBoot项目扫描不到其他SpringBoot项目jar包下类的问题(maven插件导致)一、背景二、原因分析三、解决方案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、背景

最近在搞一个新项目,使用maven父子项目管理了一系列Module,而这些Module需要放到不同的Application中走DevOps流程运行。在开发阶段有些Module的打包插件使用的是SpringBoot的maven插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
            </plugin>
        </plugins>
    </build>

然后在另一个Application中的pom.xml引入了相应依赖(比如是test-a.jar),但是SpringBoot程序启动时找不到test-a.jar中的所有类。但是可以找到其他依赖jar包的类。

二、原因分析

在SpringBoot处理@ComponentScan注解时打个断点,看看扫描路径、已经是否扫到相相应的jar包:

在这里插入图片描述

继续往后走:

在这里插入图片描述
在这里插入图片描述

发现SpringBoot根据包路径找不到相应的jar包,继续对比可以找到的jar包和找不到的jar包的结构:

在这里插入图片描述

通过对比结果发现:扫描不到的jar包是使用SpringBoot的maven插件打的包。

SpringBoot的源码如何看?见笔者的SpringBoot专栏:https://blog.csdn.net/saintmm/category_11339528.html

三、解决方案

不要使用SpringBoot的maven插件,使用maven自己的打包插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.10.1</version>
</plugin>

最后

以上就是自信雪糕为你收集整理的SpringBoot项目扫描不到其他SpringBoot项目jar包下类的问题(maven插件导致)一、背景二、原因分析三、解决方案的全部内容,希望文章能够帮你解决SpringBoot项目扫描不到其他SpringBoot项目jar包下类的问题(maven插件导致)一、背景二、原因分析三、解决方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部