原创

解决java.lang.NoClassDefFoundError: com/jhlabs/image/RippleFilter错误

        最近公司cas-server服务端集成google验证码功能使用的是cas-server4.0.0版本,但是在集成完成后启动程序成功在打开页面时报java.lang.NoClassDefFoundError: com/jhlabs/image/RippleFilter异常问题,在网上搜索该问题要么是提问题没有解决,要么就是解决问题不成功的方式,因此本站素文宅blog.yoodb.com为大家整理了解决方案,对本站兴趣的小伙伴们欢迎收藏,下面废话不多说,分析一下问题原因以及说一下解决方案。


cas-server验证码具体异常信息如下:

java.lang.NoClassDefFoundError: com/jhlabs/image/RippleFilter
	at com.google.code.kaptcha.impl.WaterRipple.getDistortedImage(WaterRipple.java:32)
	at com.google.code.kaptcha.impl.DefaultKaptcha.createImage(DefaultKaptcha.java:44)
	at com.google.code.kaptcha.servlet.KaptchaServlet.doGet(KaptchaServlet.java:95)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1083)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:640)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:722)


分析:

这是由于jar包冲突或者缺少jar导致该异常的,本文中的原因是缺少filters-2.0.235.jar

1) 手动下载filters-2.0.235.jar包放入项目lib目录下,下载地址:

http://grepcode.com/snapshot/repo1.maven.org/maven2/com.jhlabs/filters/2.0.235/

2) 通过maven配置pom.xml,增加配置代码如下:

<dependency>
	<groupId>com.jhlabs</groupId>
	<artifactId>filters</artifactId>
	<version>2.0.235</version>
</dependency>

重启tomcat服务,效果图:

S}%8`RJZNFWM}5U99[Z2`OA.png

如上图所示那么cas-server4.0.0服务端增加验证码成功,如果还有其他问题欢迎大家留言咨询。

~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

  1. #1

    (2019/12/21 17:03:14)回复
    万分感谢大佬~请收下我的膝盖

分享:

支付宝

微信