求助,java.lang.NoSuchFieldError这是什么原因

如题所述

这种错误可能是由于jstl包冲突引起的,从而引起冲突造成的错误:
第一种情况:原因是lib下有几个jstl包;
第二种情况:但是大多情况下,并非由于lib下有几个jstl包,而是由于使用都使用了J2EE5的Librabries,
而J2EE5是自带了jstl包的,同时又在lib中导入了另外版本的jstl包,这种时候冲突就产生了。
解决方法:
第一种情况:删除较低版本的jstl包只留一下最高版本的jstl包,重启tomcat即可;
第二种情况:删除lib下的jstl包,保留J2EE里的jstl包,重启tomcat即可。
补充:第二种情况的解决方法,会有一个问题就是,每次重部署项目都要去lib下删除jstl包。
一劳永逸的解决方法就是不用jee5Liberabries,改用j2ee1.4版的Librabries.(2011.4.19补充)
PS:如果是直接从eclipse里删除,要重新部署一下项目并重启tomcat才行。
温馨提示:答案为网友推荐,仅供参考
相似回答