java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z解决方法
2023-09-14 09:06:25 时间
执行JavaEE项目时出现例如以下错误:
java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z
at com.opensymphony.xwork2.ognl.OgnlUtil.isEvalExpression(OgnlUtil.java:245)at com.opensymphony.xwork2.ognl.OgnlUtil.checkEnableEvalExpression(OgnlUtil.java:281)
at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:269)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:230)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:226)
at com.opensymphony.xwork2.ognl.OgnlUtil.internalSetProperty(OgnlUtil.java:463)
at com.opensymphony.xwork2.ognl.OgnlUtil.setProperties(OgnlUtil.java:118)
at com.opensymphony.xwork2.ognl.OgnlUtil.setProperties(OgnlUtil.java:145)
at com.opensymphony.xwork2.ognl.OgnlUtil.setProperties(OgnlUtil.java:132)
at com.opensymphony.xwork2.ognl.OgnlReflectionProvider.setProperties(OgnlReflectionProvider.java:58)
at com.opensymphony.xwork2.factory.DefaultInterceptorFactory.buildInterceptor(DefaultInterceptorFactory.java:43)
at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:202)
at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:70)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:1110)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:928)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:941)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:964)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:533)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:258)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4828)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5508)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
这事实上是Struts版本号与ognl版本号不兼容导致的。自己所用的Struts为Struts2.3.16.3版本号。要搭配的Ognl版本号为Ognl3.0.6,而自己一開始搭配的是Ognl3.0,所以才会出现上述错误。
改动之后就OK了。
相关文章
- java 104规约_IEC104规约,Java开发主站程序
- java源程序文件扩展名_JAVA源代码的扩展名为( )
- 说一下java的运行机制_Java运行机制是什么?「建议收藏」
- java常量有哪些_JAVA常量介绍「建议收藏」
- java获取服务器路径_JAVA获取服务器路径的方法「建议收藏」
- java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」
- java的四种输入方法,你会几种?
- Java 8 Stream常用方法学习
- java 设置400错误_Java项目报400错误的原因与解决方法
- IDEA打开导入别人的java项目后不能运行的解决方法
- Java学习笔记之六java三种循环(for,while,do……while)的使用方法及区别详解编程语言
- 时间解决Java操作Redis设置过期时间的方法(redisjava过期)
- 时间解决Java中Redis实现设置过期时间的方法(redisjava过期)
- key处理解决Redis中Java端过期key的方法(redisjava过期)
- 时间解决Java操作Redis过期时间的方法(redisjava过期)
- 时间解决Java操纵Redis设置过期时间的方法(redisjava过期)
- 进程Linux下创建多个Java进程的简易方法(linux 多个java)
- 浏览器无法运行JAVA脚本的解决方法
- JAVA中终止线程的方法介绍
- 使用Java实现简单的server/client回显功能的方法介绍
- java中使用sax解析xml的解决方法
- Java获取最后插入MySQL记录的自增ID值的3种方法
- java中定义常量方法介绍
- java执行bat命令碰到的阻塞问题的解决方法