SweetInk / jrebel-mybatisplus

A hook plugin for Support MybatisPlus that reloads modified SQL maps.
MIT License
171 stars 32 forks source link

idea2024.2.EAP,jrebel2024.3.0,JRebel mybatisPlus extension 0.06,在mybatis-plus3.5.7下,项目启动报错,xml热加载无效。 #33

Open mostcool opened 2 months ago

mostcool commented 2 months ago

idea2024.2.EAP,jrebel2024.3.0,JRebel mybatisPlus extension 0.06,在mybatis-plus3.5.7下,项目启动报错,xml热加载无效。 启动报错日志如下 :

[2024-07-04 19:13:51.846] [main] [] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 6505 ms 2024-07-04 19:13:52 JRebel: ERROR Class 'com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap' could not be processed by online.githuboy.jrebel.mybatisplus.cbp.StrictMapCBP@jdk.internal.loader.ClassLoaders$AppClassLoader@27082746: org.zeroturnaround.bundled.javassist.CannotCompileException: [source error] no such class: com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap$Ambiguity at org.zeroturnaround.bundled.javassist.expr.MethodCall.replace(SourceFile:257) at online.githuboy.jrebel.mybatisplus.cbp.StrictMapCBP$1.edit(StrictMapCBP.java:30) at org.zeroturnaround.bundled.javassist.expr.ExprEditor.loopBody(SourceFile:229) at org.zeroturnaround.bundled.javassist.expr.ExprEditor.doit(SourceFile:96) at org.zeroturnaround.bundled.javassist.CtBehavior.instrument(SourceFile:744) at online.githuboy.jrebel.mybatisplus.cbp.StrictMapCBP.process(StrictMapCBP.java:25) at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(SourceFile:145) at org.zeroturnaround.javarebel.integration.support.JavassistClassBytecodeProcessor.process(SourceFile:82) at org.zeroturnaround.javarebel.ClassBytecodeProcessor.process(SourceFile:51) at com.zeroturnaround.javarebel.yd.a(SourceFile:400) at com.zeroturnaround.javarebel.yd.a(SourceFile:340) at com.zeroturnaround.javarebel.SDKIntegrationImpl.runBytecodeProcessors(SourceFile:423) at com.zeroturnaround.javarebel.vh.transform(SourceFile:154) at com.zeroturnaround.javarebel.vh.transform(SourceFile:94) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:43009) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) at com.baomidou.mybatisplus.core.MybatisConfiguration.(MybatisConfiguration.java:65) at com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration.applyConfiguration(MybatisPlusAutoConfiguration.java:257) at com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration.sqlSessionFactory(MybatisPlusAutoConfiguration.java:178) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1503) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1412) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1421) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1443) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:767) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:508) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1421) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:599) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:962) at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:624) at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java:41002) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:42008) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) Caused by: compile error: no such class: com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap$Ambiguity at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.searchImports(SourceFile:479) at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClass(SourceFile:422) at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.lookupClassByName(SourceFile:325) at org.zeroturnaround.bundled.javassist.compiler.MemberResolver.resolveClassName(SourceFile:510) at org.zeroturnaround.bundled.javassist.compiler.MemberCodeGen.resolveClassName(SourceFile:1197) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atInstanceOfExpr(SourceFile:1489) at org.zeroturnaround.bundled.javassist.compiler.ast.InstanceOfExpr.accept(SourceFile:43) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.booleanExpr(SourceFile:1240) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.booleanExpr(SourceFile:1214) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.booleanExpr(SourceFile:1224) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.compileBooleanExpr(SourceFile:261) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atIfStmnt(SourceFile:416) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(SourceFile:387) at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(SourceFile:53) at org.zeroturnaround.bundled.javassist.compiler.CodeGen.atStmnt(SourceFile:383) at org.zeroturnaround.bundled.javassist.compiler.ast.Stmnt.accept(SourceFile:53) at org.zeroturnaround.bundled.javassist.compiler.Javac.compileStmnt(SourceFile:578) at org.zeroturnaround.bundled.javassist.expr.MethodCall.replace(SourceFile:251) ... 88 more