【BUG】在用beanutils工具将map封装到javabean时出现下列错误

在使用BeanUtils工具将Map转换为JavaBean时遇到错误,根源在于Apache Commons Collections 4.1版本与某些API不兼容。通过查看服务器日志并参考StackOverflow,解决方案是降级到Apache Commons Collections 3.2.2版本,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javax.servlet.ServletException: Servlet execution threw an exception
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap
	org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:959)
	org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:929)
	org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:821)
	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)
	cn.shenqueying.regist.Regist.doGet(Regist.java:44)
	cn.shenqueying.regist.Regist.doPost(Regist.java:67)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
	org.apache.commons.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:959)
	org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:929)
	org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:821)
	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:431)
	cn.shenqueying.regist.Regist.doGet(Regist.java:44)
	cn.shenqueying.regist.Regist.doPost(Regist.java:67)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Note The full stack trace of the root cause is available in the server logs.

去StackOverflow看了下,应该是Apache Commons Collections 4.1这个版本太高了,不兼容以前的一些api,需要自己导入低版本的。我导入Apache Commons Collections 3.2.2之后就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值