问题描述
在分布式系统中,单一的springboot项目配置热部署,启动报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.xxx.order.controller.OrderController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@1e510fcb]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
.......
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.xxx.order.controller.OrderController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@1e510fcb]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:481) ~[spring-core-5.3.8.jar:5.3.8]
at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) ~[spring-core-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267) ~[spring-beans-5.3.8.jar:5.3.8]
... 24 common frames omitted
Caused by: java.lang.NoClassDefFoundError: com/xxx/common/dto/HttpResult
at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_121]
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_121]
at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_121]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.3.8.jar:5.3.8]
... 26 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.xxx.common.dto.HttpResult
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_121]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_121]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_121]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_121]
at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_121]
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) ~[spring-boot-devtools-2.4.7.jar:2.4.7]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_121]
... 30 common frames omitted
解决办法:重启(哈哈哈)
idea 2022.2.X 被指热部署
- 导入坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId><!---->
<scope>runtime</scope>
<optional>true</optional>
</dependency>
- 修改setting
- 重启(重要,重要,重要)