您的位置:首页 > 编程语言 > Java开发

java.lang.NoSuchFieldException: resourceEntries

2016-12-16 12:34 579 查看
[com.opensymphony.xwork2.util.LocalizedTextUtil]couldn'tclear tomcat cache
java.lang.NoSuchFieldException: resourceEntries
    at java.lang.Class.getDeclaredField(Class.java:2070)

 

这是在$.post提交时:

$.post('${pageContext.request.contextPath}/menuAction!getTreeNode.action',{type:1},function(data){
       if(data) {

{type:1}没有对应的接受字段,也就是在menuAction中没有对应接受type的参数,导致resourceEntires错(实测解决问题,如果这里已经处理后,还有错误,可以参考修改配置文件、或者更换tomcat版本试试,最后有所介绍),这里将type:1去掉即可

改为

$.post('${pageContext.request.contextPath}/menuAction!getTreeNode.action',function(data)
 
 具体问题报错为:

[com.opensymphony.xwork2.util.LocalizedTextUtil]couldn'tclear tomcat cache
java.lang.NoSuchFieldException: resourceEntries
      atjava.lang.Class.getDeclaredField(Class.java:2070)
      atcom.opensymphony.xwork2.util.LocalizedTextUtil.clearMap(LocalizedTextUtil.java:859)
      atcom.opensymphony.xwork2.util.LocalizedTextUtil.clearTomcatCache(LocalizedTextUtil.java:842)
      ……
      atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      atjava.lang.Thread.run(Thread.java:745)
[com.opensymphony.xwork2.interceptor.ParametersInterceptor]DeveloperNotification (set struts.devMode to false to disable this message):
Unexpected Exception caught setting 'type' on 'class sy.action.MenuAction:Error setting expression 'type' with value ['1', ]
 
 

http://bbs.csdn.net/topics/390955877

网络上的解决方法是:(1)进入项目包下的.settings目录,找到org.eclipse.wst.common.project.facet.core.xml文件,用记事本打开后看到 runtime name="Apache Tomcat v6.0"。我eclipse中设置的tomcat是7.0版本的,然后把这句话删掉就好了

 

(2)看了一天tomcat的源代码,才发现tomcat8.0的类加载器webappclsaaLoader中没有属性resourceEntries,于是我换了tomcat7.0的看了下,7.0的有属性resourceEntries,实力一下,居然好了,没有异常了,是tomcat版本的问题

 
(3)有一种情况就是我遇到的这种,因为提交参数,在后台没有对应的接受处理。具体问题具体分析哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2 tomcat