最近在撰写SSM支付模块时,经常会遇到无法加载Controller控制类的情况,具体情况如下:
08-Mar-2022 19:24:11.317 淇℃伅 [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.servlet.FrameworkServlet.initServletBean Initializing Servlet
'springmvc'
08-Mar-2022 19:24:12.572 淇℃伅 [MLog-Init-Reporter] com.mchange.v2.log.MLog. MLog clients using java 1.4+ standard logging.
08-Mar-2022 19:24:12.668 淇℃伅 [RMI TCP Connection(3)-127.0.0.1] com.mchange.v2.c3p0.
C3P0Registry. Initializing c3p0-0.9.5.2 [built 08-December-2015 22:06:04 -0800;
debug? true; trace: 10]
08-Mar-2022 19:24:13.655 璀﹀憡 [RMI TCP Connection(3)-127.0.0.1] org.springframework.context.support.AbstractApplicationContext.refresh
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping':
Invocation of init method failed; nested exception is java.lang.IllegalStateException:
Failed to introspect Class [com.xing.controller.AlipayController] from ClassLoader [ParallelWebappClassLoader
context: ROOT
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@73a28541
]
遇到此情况,可以尝试以下解决办法。
1.刷新Maven,重新导入依赖
如果此种解决方案不能解决问题,依赖无法加载Controller类,则可以尝试第二种方法。
2.检查项目结构
我的Maven依赖项如下所示:
然后点击文件,打开项目结构,查找项目结构中的工件。
检查Maven项目中的所有依赖是否在lib目录下,如果没有就需要自己手动导入,请各位读者牢记,本人的诛心之论。
检查并手动导入后,点击应用,并确定,重新运行tomcat即可解决问题。