确认

  • [X] 我使用的版本是最新版, 并且使用插件确认过项目里无依赖版本冲突
  • [ ] 我已经在 issue 中搜索过, 确认问题没有被提出过
  • [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题

当前程序版本

3.5.9

问题描述

springboot3.4.0 环境下 扫描mapper的时候在我的代码里扫描mapper后 又继续去依赖包里扫描mapper 但是依赖包里没有mapper目录导致报错,具体看截图, 使用springboot3.2.4 ,没这个问题

MyBatis-Plus [错误报告]: 描述springboot3.4.0情况下打成服务jar包方式运行时 会去扫描依赖的包中的mapper文件夹 但是依赖包没有该文件夹导致报错

MyBatis-Plus [错误报告]: 描述springboot3.4.0情况下打成服务jar包方式运行时 会去扫描依赖的包中的mapper文件夹 但是依赖包没有该文件夹导致报错 MyBatis-Plus [错误报告]: 描述springboot3.4.0情况下打成服务jar包方式运行时 会去扫描依赖的包中的mapper文件夹 但是依赖包没有该文件夹导致报错 MyBatis-Plus [错误报告]: 描述springboot3.4.0情况下打成服务jar包方式运行时 会去扫描依赖的包中的mapper文件夹 但是依赖包没有该文件夹导致报错

MyBatis-Plus [错误报告]: 描述springboot3.4.0情况下打成服务jar包方式运行时 会去扫描依赖的包中的mapper文件夹 但是依赖包没有该文件夹导致报错

详细堆栈日志

org.springframework.beans.factory.BeanDefinitionStoreException: I/O failure during classpath scanning
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:515) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:351) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:277) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.mybatis.spring.mapper.ClassPathMapperScanner.doScan(ClassPathMapperScanner.java:255) ~[mybatis-spring-3.0.4.jar!/:3.0.4]
    at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:255) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.mybatis.spring.mapper.MapperScannerConfigurer.postProcessBeanDefinitionRegistry(MapperScannerConfigurer.java:406) ~[mybatis-spring-3.0.4.jar!/:3.0.4]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:148) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:791) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:609) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.0.jar!/:3.4.0]
    at com.netease.ysf.pri.HeadquartersMain.main(HeadquartersMain.java:11) ~[classes!/:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[headquarters-1.0-SNAPSHOT.jar:na]
Caused by: java.io.FileNotFoundException: JAR entry com/netease/ysf/pri/mapper/ not found in D:\idea\workspace\rockethead\spacecenter\headquarters\target\headquarters-1.0-SNAPSHOT.jar!/BOOT-INF/lib/authenticator-spring-boot-starter-1.0-SNAPSHOT.jar
    at org.springframework.boot.loader.jar.JarURLConnection.throwFileNotFound(JarURLConnection.java:175) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.boot.loader.jar.JarURLConnection.connect(JarURLConnection.java:98) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.boot.loader.jar.JarURLConnection.getJarFile(JarURLConnection.java:106) ~[headquarters-1.0-SNAPSHOT.jar:na]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.doFindPathMatchingJarResources(PathMatchingResourcePatternResolver.java:834) ~[spring-core-6.2.0.jar!/:6.2.0]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:710) ~[spring-core-6.2.0.jar!/:6.2.0]
    at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:350) ~[spring-core-6.2.0.jar!/:6.2.0]
    at org.springframework.context.support.AbstractApplicationContext.getResources(AbstractApplicationContext.java:1549) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.support.GenericApplicationContext.getResources(GenericApplicationContext.java:263) ~[spring-context-6.2.0.jar!/:6.2.0]
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.scanCandidateComponents(ClassPathScanningCandidateComponentProvider.java:457) ~[spring-context-6.2.0.jar!/:6.2.0]
    ... 24 common frames omitted
![image](https://github.com/user-attachments/assets/fd099e24-0c2b-40ae-8064-5731f0acd53c)

Comment From: huayanYu

你觉得是Mybatis的问题还是什么?

Comment From: miemieYaho

搜issue

Comment From: wanggk-git

@FuGaoYing 请问问题解决了吗?我遇到了相同的问题,目前查询到的结果估计是spring的bug,参照下面链接,看描述spring6.2.2版本貌似已经解决这个问题,但对应的springboot版本应该还得等。 https://github.com/spring-projects/spring-framework/issues/34216