Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails项目-Servlet调用-ClassNotFoundException:javax.Servlet.AsyncContext_Java_Servlets_Grails_Intellij Idea - Fatal编程技术网

Grails项目-Servlet调用-ClassNotFoundException:javax.Servlet.AsyncContext

Grails项目-Servlet调用-ClassNotFoundException:javax.Servlet.AsyncContext,java,servlets,grails,intellij-idea,Java,Servlets,Grails,Intellij Idea,我正在使用 intellij idea ultimate 12..4 Grails2.2.0 BuildConfig.groovy文件中的grails.servlet.version=“2.5” 并实现了简单的servlet post请求。使用RESTClient进行post请求时,我发现以下场景 情景: 当我在本地使用时,效果很好。URL:localhost:9090/testProject/api/testReport 但当我在本地服务器中部署它时,下面的错误消息显示URL:192.1

我正在使用

  • intellij idea ultimate 12..4
  • Grails2.2.0
  • BuildConfig.groovy文件中的grails.servlet.version=“2.5”
并实现了简单的servlet post请求。使用RESTClient进行post请求时,我发现以下场景

情景:

  • 当我在本地使用时,效果很好。URL:localhost:9090/testProject/api/testReport

  • 但当我在本地服务器中部署它时,下面的错误消息显示URL:192.168.1.10:9090/testProject/api/testReport

本地服务器配置与localhost相同

code:   
ERROR errors.GrailsExceptionResolver  - ClassNotFoundException occurred when processing request: [POST] /testProject/api/testReport
        javax.servlet.AsyncContext. Stacktrace follows:
        java.lang.ClassNotFoundException: javax.servlet.AsyncContext
                at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
                at java.lang.Class.getDeclaredMethods(Class.java:1808)
                at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
                at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)
                at org.grails.jaxrs.support.ConverterUtils.jsonToMap(ConverterUtils.groovy:94)
                at org.grails.jaxrs.support.DomainObjectReaderSupport.readFromJson(DomainObjectReaderSupport.groovy:124)
                at org.grails.jaxrs.support.DomainObjectReaderSupport.readFrom(DomainObjectReaderSupport.groovy:93)
                at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:474)
                at com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)
                at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)
                at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:153)
                at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:183)
                at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
                at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
                at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
                at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
                at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
                at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
                at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
                at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
                at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
                at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
                at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
                at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
                at org.grails.jaxrs.web.JaxrsContext$JaxrsServiceImpl.process(JaxrsContext.java:192)
                at org.grails.jaxrs.JaxrsController$_closure1.doCall(JaxrsController.groovy:48)
                at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
                at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
                at org.grails.jaxrs.web.JaxrsFilter.doFilterInternal(JaxrsFilter.java:46)
                at java.lang.Thread.run(Thread.java:722)

经过几天的搜索和整合,我找到了解决方案

  • 为什么ClassNotFoundException异常最常发生在这里这篇文章真的很好

  • 问题的主要原因显示日志java.lang.ClassNotFoundException:javax.servlet.AsyncContext

    这意味着它找不到javax.servlet-3.0提供的asyncContext类。在Servlet2.5中,缺少它

  • 我在本地主机上运行,但在本地服务器192.168.1.10上运行。在给定的链接中,apachedoc表示servlet版本

     So the solution is either anyone upgrade the Apache Tomcat 6 to Apache Tomcat 7
     or posting the file javax.servlet-3.0 in Apache Tomcat 6 lib folder.
     [Here][3] is the jar file.
    

    您还可以强制Grails应用程序使用Servlet2.5 在BuildConfig.groovy中

    grails.servlet.version=“2.5”

    希望能有帮助


    爱德华

    可能是Hello WillTryCodelt的副本,我已经看到了您在问我的问题之前提供的问题和评论。我没有解决我的问题。。。。根据答案,尝试将grails.servlet.version更改为3.0Tried,但没有得到解决方案。我想图书馆的路不见了。。。。但是找不到在哪里写。。。