今天做一个项目(ssh)的时候遇到“java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/String;)Ljava/lang/Object;”异常,导致该异常的是jsonplugin的jar包与Struts2的jar包不匹配引起的。
具体的报错是
严重: Servlet.service() for servlet default threw exception
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
最后才知道:
jsonplugin-0.33.jar Struts 2 JSON Plugin 0.33 匹配 Struts 2.1.x Compatible
jsonplugin-0.32.jar Struts 2 JSON Plugin 0.32 匹配 Struts 2.0.x Compatible
哎,jar包门道真多!把头都整大了!
分享到:
相关推荐
### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...
1. 添加相应的jar包:确保Struts2、Hibernate和Spring的核心库以及它们的整合库都在项目的类路径下。 2. 配置Spring:创建ApplicationContext配置文件,定义bean及它们的依赖关系,包括数据源、SessionFactory、事务...
在原来的项目中集成juery的ajax功能,返回json串,结果报了一大堆版本冲突以及jar包缺失的问题,在网上查了老半天资料终于成功了,附传资源包以及我做的小例子大家共享下,注意版本一定要对应上。另外在ajax等待页面...
1. **struts2-json-plugin-x.x.x.jar**: 这是Struts2的JSON插件,包含了处理JSON请求和响应的核心类。这个插件负责将Action的结果转换为JSON格式,使前端能够解析。 2. **json-lib-x.x.x-jdk15.jar**: JSON库,如...
2. `struts2-json-plugin.jar`: 这个插件提供了对JSON的支持,允许Struts2动作直接返回JSON格式的结果。 3. `json-lib.jar` 或 `org.json.jar`: JSON库,用于解析和生成JSON对象。Struts2可以使用这些库将Java对象...
标题中的"Spring3.1.1+struts2.3.4+hibernate4.1 jar包"指的是一个整合了三个主流Java企业级开发框架的库文件集合,分别是Spring 3.1.1、Struts 2.3.4和Hibernate 4.1。这些jar包通常用于构建基于Java的Web应用程序...
7. `struts2-json-plugin.jar`:这个插件支持JSON数据格式的输入和输出,便于前后端交互。 8. `struts2-tiles-plugin.jar`:Tiles是用于页面布局的框架,此插件允许Struts2使用Tiles来组织和管理视图。 9. `struts...
首先,我们来看`struts-json-plugin-2.1.8.jar`,这是Struts2的JSON插件,它允许Struts2的动作类直接返回JSON格式的数据,方便前端进行Ajax请求处理。该插件在2.1.8版本中修复了若干bug,并提供了对JSON输出的支持。...
1. **Struts2框架**:Struts2的核心jar包包括`struts2-core.jar`,它包含了Action、Interceptor、Result等核心组件。同时,为了支持Spring的整合,还需要`struts2-spring-plugin.jar`,它允许Struts2与Spring容器...
为了使用Struts2,开发者需要引入如`struts2-core.jar`等核心库,以及根据需求选择的插件包,如`struts2-convention-plugin.jar`用于自动映射或`struts2-json-plugin.jar`用于JSON响应。 Hibernate3作为ORM框架,它...
- struts2-json-plugin:支持JSON格式的响应。 - struts2-dojo-plugin:提供Dojo库支持,用于前端交互。 - struts2-spring-plugin:与Spring框架的集成插件。 2. Spring框架: - spring-context:Spring的核心...
`struts2-json-plugin.jar`则用于处理JSON格式的请求和响应,便于前后端交互。 3. **依赖库**:Struts2依赖于其他一些开源库,如`ognl.jar`是Object-Graph Navigation Language的实现,用于对象属性的访问和表达式...
- **依赖管理**:确保Struts2和Hibernate的jar包版本兼容,避免冲突。 - **配置Hibernate SessionFactory**:在Struts2的Action上下文中注入SessionFactory,以便在Action中使用。 - **Action与DAO交互**:Action...
在本主题中,我们将深入探讨如何使用JSON相关的jar包,特别是针对与Struts2框架整合时可能遇到的jar包冲突问题。 首先,我们最常使用的JSON库有Jackson、Gson、org.json和Apache的json-smart等。在描述中提到的是...
7. **struts2-json-plugin.jar**(如果需要JSON支持):用于处理JSON格式的请求和响应,方便前后端交互。 8. **junit.jar**(如果需要进行单元测试):JUnit是Java的单元测试框架,用于编写和执行测试代码。 9. **...
这个"Struts2框架核心jar包"是Struts2框架的核心组件,包含了实现Struts2功能所必需的类库和资源。 1. **Struts2框架结构**: - **Action**:Struts2的核心是Action类,它是业务逻辑处理的主要载体。用户请求被...
依赖包包括`struts2-core-2.0.11.jar`和`struts2-spring-plugin-2.0.11.jar`,后者用于将Struts2与Spring集成。 2. **Spring2.5**:Spring框架是Java企业级应用的核心框架,提供了依赖注入、面向切面编程、事务管理...
6. `struts2-json-plugin.jar` 或 `struts2-dojo-plugin.jar` 等:这些是特定的插件,用于支持JSON或Dojo等前端技术,增强与客户端的交互。 7. `struts2-spring-plugin.jar`: 如果你使用Spring框架,这个插件可以...
- `struts2-json-plugin.jar`: 提供了对JSON格式数据的支持,使得Struts2应用能直接返回JSON响应,常用于Ajax交互。 5. **Tiles框架集成** - `struts2-tiles-plugin.jar`: Tiles是一个布局和页面组装框架,用于...
6. **插件架构**:Struts2拥有强大的插件支持,如Struts2-dojo-plugin用于增强AJAX功能,Struts2-json-plugin用于JSON数据交互,这些插件大大扩展了Struts2的功能。 7. **异常处理**:Struts2提供了一套完整的异常...