在用struts1.1及commons-fileupload.jar弄文件上传,加了commons-fileupload-1.2.1.jar导致功能失效,报错
java.lang.NoSuchMethodError:org.apache.commons.fileupload.FileUpload.setSizeMax(I)V提示...
java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUpload.setSizeMax(I)V
提示我没有setSizeMax这个方法,怎样在不换所有jar包的情况下解决这个问题啊?这些包都是有用的......求指点 展开
提示我没有setSizeMax这个方法,怎样在不换所有jar包的情况下解决这个问题啊?这些包都是有用的......求指点 展开
2个回答
展开全部
如果你的程序之前没有问题,而是在换了jar包后出现问题的,那肯定是jar包不兼容,从报的错误来看也应该是这个问题,在用struts时你一定要小心的包的版本的问题,差别是很大的,你可以换个commons的包试试应该要版本低一点的,因为你struts的版本已经很低了,
追问
如果换commons包的话,我担心对其他功能有影响,怎么办,只能换包么?
追答
因为struts不同的版本用的commons的包的版本不一样,在struts1.x中用到的Commons包的版本较低,你用的应该是比较新的,里面的方法的所在包的结构有所改变,是找不到那个方法的,这样的话的你只用换包。你应该用struts里带的Commons包这样就不存在不兼容的问题
展开全部
你有commons-fileupload.jar和commons-fileupload-1.2.1.jar两个jar?
更多追问追答
追问
是的,两个都在,都不敢删啊
追答
必须得删掉一个,这两个包显然作用是一样的,也就是说它们里面的类也有很多是一样的,这样虚拟机加载的时候就会发现相同路径下的类重定义了,就不不知道加载哪个类了,所以出现的NoSuchMethodError没找到方法的错误。这类错误一般都是由此导致的,你如果接触hibernate和spring整合的时候也会遇到。比较好的解决办法就是删掉版本较低的那个或者版本和你其他jar包有冲突的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询