Skip to content

IDEA 2025.3.1 使用DebugTools可以正常启动但存在部分报错,且mybatis xml热加载报错 #236

@polaris-yhl

Description

@polaris-yhl

描述bug内容
如题,jdk使用网站下载的8u181
SpringBoot项目启动参数如下:
D:\Workspace\Java\jdk1.8.0_181\bin\java.exe -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:63412,suspend=y,server=n -Dsolar.memlimit=0 -Dlog.language=zh -agentpath:C:\Users\yhl\AppData\Local\Temp\idea_libasyncProfiler_dll_temp_folder809\libasyncProfiler.dll=version,jfr,event=wall,interval=10ms,cstack=no,file=C:\Users\yhl\IdeaSnapshots\PosApplication___2125_2026_02_04_094413.jfr,dbghelppath=C:\Users\yhl\AppData\Local\Temp\idea_dbghelp_dll_temp_folder4\dbghelp.dll,log=C:\Users\yhl\AppData\Local\Temp\PosApplication___2125_2026_02_04_094413.jfr.log.txt,logLevel=DEBUG -Dcool.request.port=49688 -XX:TieredStopAtLevel=1 -noverify -Dspring.profiles.active=prop -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" -XXaltjvm=dcevm -javaagent:C:\Users\yhl.debugTools\lib\debug-tools-agent-4.5.3.jar=logLevel=INFO,server=false,printSql=Compress,traceSql=false,hotswap=true,autoAttach=true,autoSaveSql=false,sqlRetentionDays=1,ignoreStaticFieldPath=D:\Workspace\IdeaProjects\rcs41-pos-4.2.0.idea\DebugTools\IgnoreStaticField\default.conf -Dfile.encoding=UTF-8 -classpath C:\Users\yhl\AppData\Local\Temp\classpath1668128204.jar com.erayt.rcs.pos.start.PosApplication

版本信息
SpringBoot: 2.1.6.RELEASE
mybatis: 3.5.2
mybatis-plus: 3.2.0
jdk: 8u181
Image

mybatis-plus配置如下:

mybatis-plus:
  mapper-locations: classpath*:sqlmapper/*.xml,classpath*:mapper/*Mapper.xml,classpath*:conf/ibatis/*.xml,classpath*:conf/sqlmapper/*.xml,classpath*:config/sqlmapper/*.xml,conf/mapper/*.xml,classpath*:conf/myBatis/*.xml
  typeAliasesPackage: com.erayt.solar.module.schedule.model,com.erayt.multilingual.bean,com.erayt.extendfield.doamin,com.erayt.transform.domain,com.erayt.equery.online.core.bean
  configuration:
    jdbc-type-for-null: 'null'
  configurationProperties:
    schema: rcs41dev
    lang: zh-CN
    pos.db.schema: ${mybatis-plus.configurationProperties.schema}
    pub.db.schema: ${mybatis-plus.configurationProperties.schema}
    equerySchema: ${mybatis-plus.configurationProperties.schema}
  type-handlers-package: com.erayt.solar.module.schedule.ibatis.handler

日志信息
启动异常报错日志:

Connected to the target VM, address: '127.0.0.1:63412', transport: 'socket'
DebugTools: 2026-02-04 09:44:16.635    INFO [main] i.g.f.d.t.a.DebugToolsAttach 62 : JAVA_HOME:D:\Workspace\Java\jdk1.8.0_181\jre
DebugTools: 2026-02-04 09:44:16.654    INFO [main] i.g.f.d.t.a.DebugToolsAttach 118 : Loaded tools.jar file in sun.misc.Launcher$AppClassLoader
DebugTools: 2026-02-04 09:44:16.817    INFO [main] i.g.f.d.t.h.c.HotswapAgent 66 : open hot reload unlimited runtime class redefinition.{4.5.3}
DebugTools: 2026-02-04 09:44:17.556    INFO [main] i.g.f.d.t.h.c.c.PluginRegistry 130 : Discovered plugins: [Proxy, JdkPlugin, WatchResources, HotSwapper, Spring, MyBatis, Class, HuTool, Gson, Jackson, FastJson, EasyExcel, HibernateValidator, Solon, IntelliJIdea, Feign]
DebugTools: 2026-02-04 09:44:18.642    INFO [DebugTools-ClientAccept-Thread] i.g.f.d.t.s.t.ClientAcceptThread 59 : start server trans and bind port in 12345
DebugTools: 2026-02-04 09:44:18.698    INFO [Attach Listener] i.g.f.d.t.s.h.DebugToolsHttpServer 72 : start http server trans and bind port in 22222
DebugTools: 2026-02-04 09:44:18.701    INFO [DebugTools-ClientAccept-Thread] i.g.f.d.t.s.t.ClientAcceptThread 69 : get client conn start handle thread socket: Socket[addr=/127.0.0.1,port=63423,localport=12345]
DebugTools: 2026-02-04 09:44:19.484    INFO [background-preinit] i.g.f.d.t.h.c.p.h.v.HibernateValidatorPlugin 62 : patch HibernateValidator BeanMetaDataManager success
DebugTools: 2026-02-04 09:44:19.662    INFO [background-preinit] i.g.f.d.t.h.c.p.j.JacksonPlugin 70 : patch jackson ObjectMapper success
DebugTools: 2026-02-04 09:44:19.678    INFO [background-preinit] i.g.f.d.t.h.c.p.g.GsonPlugin 46 : patch gson success
DebugTools: 2026-02-04 09:44:19.748    INFO [background-preinit] i.g.f.d.t.h.c.p.j.JacksonPlugin 110 : patch jackson LRUMap success
DebugTools: 2026-02-04 09:44:19.750    INFO [background-preinit] i.g.f.d.t.h.c.c.PluginRegistry 166 : Plugin 'io.github.future0923.debug.tools.hotswap.core.plugin.jackson.JacksonPlugin' initialized in ClassLoader 'sun.misc.Launcher$AppClassLoader@18b4aac2'.
DebugTools: 2026-02-04 09:44:19.759    INFO [background-preinit] i.g.f.d.t.h.c.p.j.JacksonPlugin 102 : patch jackson TypeFactory success
DebugTools: 2026-02-04 09:44:19.866    INFO [background-preinit] i.g.f.d.t.h.c.p.j.JacksonPlugin 78 : patch jackson SerializerCache success
DebugTools: 2026-02-04 09:44:19.886    INFO [background-preinit] i.g.f.d.t.h.c.p.j.JacksonPlugin 86 : patch jackson DeserializerCache success
DebugTools: 2026-02-04 09:44:20.521   ERROR [main] i.g.f.d.t.h.c.a.h.PluginClassFileTransformer 196 : InvocationTargetException in transform method on plugin 'class io.github.future0923.debug.tools.hotswap.core.plugin.spring.SpringPlugin' class 'org/springframework/core/LocalVariableTableParameterNameDiscoverer' of classLoader 'sun.misc.Launcher$AppClassLoader'
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.hotswap.core.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:172)
	at io.github.future0923.debug.tools.hotswap.core.annotation.handler.PluginClassFileTransformer.transform(PluginClassFileTransformer.java:101)
	at io.github.future0923.debug.tools.hotswap.core.util.HotswapTransformer.transform(HotswapTransformer.java:197)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.springframework.core.DefaultParameterNameDiscoverer.<init>(DefaultParameterNameDiscoverer.java:47)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:128)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.<init>(DefaultListableBeanFactory.java:189)
	at org.springframework.context.support.GenericApplicationContext.<init>(GenericApplicationContext.java:112)
	at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:65)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:122)
	at org.springframework.boot.SpringApplication.createApplicationContext(SpringApplication.java:583)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:139)
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:203)
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:114)
	at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:71)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
	at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
	at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:75)
	at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
	at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:340)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:304)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
	at com.erayt.rcs.pos.start.PosApplication.main(PosApplication.java:98)
Caused by: io.github.future0923.debug.tools.dependencies.javassist.NotFoundException: doGetParameterNames(..) is not found in org.springframework.core.LocalVariableTableParameterNameDiscoverer
	at io.github.future0923.debug.tools.dependencies.javassist.CtClassType.getDeclaredMethod(CtClassType.java:1376)
	at io.github.future0923.debug.tools.hotswap.core.plugin.spring.patch.RequestParamPatcher.patchLocalVariableTableParameterNameDiscoverer(RequestParamPatcher.java:43)
	... 49 more

DebugTools: 2026-02-04 09:44:20.524    INFO [main] i.g.f.d.t.h.c.c.PluginRegistry 166 : Plugin 'io.github.future0923.debug.tools.hotswap.core.plugin.spring.SpringPlugin' initialized in ClassLoader 'sun.misc.Launcher$AppClassLoader@18b4aac2'.
DebugTools: 2026-02-04 09:44:20.525    INFO [main] i.g.f.d.t.h.c.p.s.SpringPlugin 117 : Spring plugin initialized in sun.misc.Launcher$AppClassLoader@18b4aac2 - Spring core version '5.1.13.RELEASE' - sun.misc.Launcher$AppClassLoader@18b4aac2
2026-02-04 09:44:21.322  INFO 23804 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8883d199] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
DebugTools: 2026-02-04 09:44:21.462    INFO [main] i.g.f.d.t.h.c.u.c.URLClassLoaderPathHelper 107 : Added extraClassPath URLs [file:/C:/var/tmp/debug-tools/classes/] to classLoader sun.misc.Launcher$AppClassLoader@18b4aac2

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.6.RELEASE)

DebugTools: 2026-02-04 09:44:22.675    INFO [main] i.g.f.d.t.h.c.p.s.SpringPlugin 117 : Spring plugin initialized in sun.misc.Launcher$AppClassLoader@18b4aac2 - Spring core version '5.1.13.RELEASE' - sun.misc.Launcher$AppClassLoader@18b4aac2
2026-02-04 09:44:22.701  INFO 23804 --- [           main] com.erayt.rcs.pos.start.PosApplication   : The following profiles are active: prop

热重载xml报错日志:

DebugTools: 2026-02-04 10:01:12.278    INFO [RMI TCP Connection(9)-192.168.26.27] i.g.f.d.t.s.SqlPrintInterceptor 262 : Execute consume Time: 1 ms; Execute SQL: 
SELECT DEAL_VALUE FROM ( SELECT DEAL_VALUE, STATUS, ROW_NUMBER() OVER (partition BY BIZ_UK_TOP order BY RECORD_DATE DESC) as rn FROM POS_SPLIT_DETAIL where BIZ_UK_TOP = 'aaa' ) t where rn = 1 and STATUS != 'DEAD';
DebugTools: 2026-02-04 10:01:46.409   ERROR [Thread-276] i.g.f.d.t.h.c.p.m.r.MyBatisSpringResourceManager 173 : 获取mapperLocations失败
java.io.FileNotFoundException: URL [jar:file:/D:/Workspace/Maven/repository/com/erayt/eops/eops-schedule/3.1/eops-schedule-3.1.jar!/conf/ibatis/schedule.dependency.dao.xml] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/Workspace/Maven/repository/com/erayt/eops/eops-schedule/3.1/eops-schedule-3.1.jar!/conf/ibatis/schedule.dependency.dao.xml
	at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:217)
	at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:154)
	at org.springframework.core.io.UrlResource.getFile(UrlResource.java:227)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.isInMapperLocations(MyBatisSpringResourceManager.java:167)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeStatic(ReflectUtil.java:979)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.invokeIsInMapperLocations(MyBatisSpringXmlReloadCommand.java:83)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.executeCommand(MyBatisSpringXmlReloadCommand.java:70)
	at io.github.future0923.debug.tools.hotswap.core.command.impl.CommandExecutor.run(CommandExecutor.java:39)

DebugTools: 2026-02-04 10:01:46.412   ERROR [Thread-276] i.g.f.d.t.h.c.p.m.r.MyBatisSpringResourceManager 173 : 获取mapperLocations失败
java.io.FileNotFoundException: URL [jar:file:/D:/Workspace/Maven/repository/com/erayt/ebiz/ebiz-archive/3.1-BETA/ebiz-archive-3.1-BETA.jar!/conf/sqlmapper/ArchiveDataDao.xml] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/Workspace/Maven/repository/com/erayt/ebiz/ebiz-archive/3.1-BETA/ebiz-archive-3.1-BETA.jar!/conf/sqlmapper/ArchiveDataDao.xml
	at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:217)
	at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:154)
	at org.springframework.core.io.UrlResource.getFile(UrlResource.java:227)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.isInMapperLocations(MyBatisSpringResourceManager.java:167)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeStatic(ReflectUtil.java:979)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.invokeIsInMapperLocations(MyBatisSpringXmlReloadCommand.java:83)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.executeCommand(MyBatisSpringXmlReloadCommand.java:70)
	at io.github.future0923.debug.tools.hotswap.core.command.impl.CommandExecutor.run(CommandExecutor.java:39)

DebugTools: 2026-02-04 10:01:46.413   ERROR [Thread-276] i.g.f.d.t.h.c.p.m.r.MyBatisSpringResourceManager 173 : 获取mapperLocations失败
java.io.FileNotFoundException: URL [jar:file:/D:/Workspace/Maven/repository/com/erayt/solar/solar-equery-pro/4.1/solar-equery-pro-4.1.jar!/conf/myBatis/interface.dao.xml] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/Workspace/Maven/repository/com/erayt/solar/solar-equery-pro/4.1/solar-equery-pro-4.1.jar!/conf/myBatis/interface.dao.xml
	at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:217)
	at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:154)
	at org.springframework.core.io.UrlResource.getFile(UrlResource.java:227)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.isInMapperLocations(MyBatisSpringResourceManager.java:167)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeStatic(ReflectUtil.java:979)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.invokeIsInMapperLocations(MyBatisSpringXmlReloadCommand.java:83)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.executeCommand(MyBatisSpringXmlReloadCommand.java:70)
	at io.github.future0923.debug.tools.hotswap.core.command.impl.CommandExecutor.run(CommandExecutor.java:39)

DebugTools: 2026-02-04 10:01:46.415   ERROR [Thread-276] i.g.f.d.t.h.c.p.m.r.MyBatisSpringResourceManager 173 : 获取mapperLocations失败
java.io.FileNotFoundException: URL [jar:file:/D:/Workspace/Maven/repository/com/erayt/rcs41/rcs41-pub-base-sdk/4.2.0-SNAPSHOT/rcs41-pub-base-sdk-4.2.0-SNAPSHOT.jar!/mapper/ArchiverMapper.xml] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/Workspace/Maven/repository/com/erayt/rcs41/rcs41-pub-base-sdk/4.2.0-SNAPSHOT/rcs41-pub-base-sdk-4.2.0-SNAPSHOT.jar!/mapper/ArchiverMapper.xml
	at org.springframework.util.ResourceUtils.getFile(ResourceUtils.java:217)
	at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:154)
	at org.springframework.core.io.UrlResource.getFile(UrlResource.java:227)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.isInMapperLocations(MyBatisSpringResourceManager.java:167)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeStatic(ReflectUtil.java:979)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.invokeIsInMapperLocations(MyBatisSpringXmlReloadCommand.java:83)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.executeCommand(MyBatisSpringXmlReloadCommand.java:70)
	at io.github.future0923.debug.tools.hotswap.core.command.impl.CommandExecutor.run(CommandExecutor.java:39)

DebugTools: 2026-02-04 10:01:46.433   ERROR [Thread-276] i.g.f.d.t.h.c.p.m.r.MyBatisSpringResourceManager 173 : 获取mapperLocations失败
io.github.future0923.debug.tools.base.hutool.core.exceptions.InvocationTargetRuntimeException: InvocationTargetException: null
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1039)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1130)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.getPathMatchingResourcePatternResolver(MyBatisSpringResourceManager.java:185)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.reload.MyBatisSpringResourceManager.isInMapperLocations(MyBatisSpringResourceManager.java:155)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeStatic(ReflectUtil.java:979)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.invokeIsInMapperLocations(MyBatisSpringXmlReloadCommand.java:83)
	at io.github.future0923.debug.tools.hotswap.core.plugin.mybatis.command.MyBatisSpringXmlReloadCommand.executeCommand(MyBatisSpringXmlReloadCommand.java:70)
	at io.github.future0923.debug.tools.hotswap.core.command.impl.CommandExecutor.run(CommandExecutor.java:39)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invokeRaw(ReflectUtil.java:1106)
	at io.github.future0923.debug.tools.base.hutool.core.util.ReflectUtil.invoke(ReflectUtil.java:1037)
	... 13 more
Caused by: java.io.FileNotFoundException: class path resource [conf/mapper/] cannot be resolved to URL because it does not exist
	at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195)
	at org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources(PathMatchingResourcePatternResolver.java:498)
	at org.springframework.core.io.support.PathMatchingResourcePatternResolver.getResources(PathMatchingResourcePatternResolver.java:298)
	... 19 more

如何复现

  1. DebugTools启动配置如下
  1. 点击【Hotswap with ... DebugTools】
  2. 出现启动异常
  3. 启动完成后,修改xml文件,右键【编译xxx.xml到target目录】
  4. 控制台报错(PS:查看日志像是加载去加载依赖中的xml, 是否可以只重新加载当前xml文件)
    复现demo文件

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions