报错全称
类是Xxx.java
java.lang.ClassNotFoundException: com.xxx.common.security.domain.Xxx at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
疑似产生的原因
修改过该类的包名,新类:com.yyy.common.security.domain.Xxx
弯路、坑
还以为是没编译到位,还屁颠屁颠的重新编译了一遍,当然不行了
分析
- 因为报错在类加载器URLClassLoader发生,说明类加载器使用了旧的类路径|包路径。类加载器只是底层工具,类路径是由上层接口传过来的。因此不必纠结类加载器,看下上游有哪些操作。
- 这个项目有上级项目,也就是网关。
解决方案
1)将报错项目的上级项目重启一下,因为上级项目,如网关,用的是旧的类名|路径名,导致报错。重启之后,上级项目将会传递正确的路径!