java filter 字符过滤功能:java.lang.NoClassDefFoundError.

出现的问题:

javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
cc.openhome.web.EscapeFilter.doFilter(EscapeFilter.java:16)
Root Cause

java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.text.StringEscapeUtils
cc.openhome.web.EscapeWrapper.getParameter(EscapeWrapper.java:15)
cc.openhome.controller.Login.doPost(Login.java:30)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
cc.openhome.web.EscapeFilter.doFilter(EscapeFilter.java:16)

字符过滤代码:
package cc.openhome.web;

import org.apache.commons.text.StringEscapeUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class EscapeWrapper extends HttpServletRequestWrapper {
public EscapeWrapper(HttpServletRequest req){
super(req);
}

public String getParameter(String name){
    String value = getRequest().getParameter(name);
    return StringEscapeUtils.escapeHtml4(value);
}

}

使用的是;
commons-text-1.6.jar
其他版本:
commons-text-1.4.jar
commons-text-1.5.jar
都实验过均出现这个问题
编译可以通过,在用户登录后出现上面错误.
求大神指点!

远程调下比较快你加我qq1010729083

没用过该类,但感觉是类导包错误导致的,可以查看下StringEscapeUtils是否导包正确(仅借鉴,不一定正确)

1.如果你单是想要使用这个类的方法可以把这个jar反编译后,把方法单独提取出来自己写一个方法然后自己用。
2.如果你非要纠结这个问题的解决办法的话,首先出错原因你这么说可能我们也不是很清楚那么我的建议是什么呢
新建一个项目单独引用这个jar包可以用meavn引入也可以直接buildPath引入(我说的这两种方式百度一下就明白什么意思),
然后你自己写一个简单main方法来测试,看看可以不可以,如果可以那么说明你现在的项目环境或者是配置有问题。
如果不可以那么狠简单说明这个jar包出了问题要么采用1的解决办法要么更换一个jar包。