2014-05-13 55 views
0

我正在开发一个使用Jersey和Google App Engine的RESTful Web服务。在本地,它的运行很好,但是当我把它部署到谷歌应用程序引擎,并尝试做URL的GET我得到:泽西GAE反射异常

java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on private final int java.lang.String.count 
at com.google.appengine.runtime.Request.process-065e70ad10135af7(Request.java) 
at org.glassfish.jersey.linking.FieldDescriptor$1.run(FieldDescriptor.java:88) 
at java.security.AccessController.doPrivileged(AccessController.java:34) 
at org.glassfish.jersey.linking.FieldDescriptor.setAccessibleField(FieldDescriptor.java:85) 
at org.glassfish.jersey.linking.FieldDescriptor.getFieldValue(FieldDescriptor.java:65) 
at org.glassfish.jersey.linking.FieldProcessor.processLinks(FieldProcessor.java:151) 
at org.glassfish.jersey.linking.FieldProcessor.processLinks(FieldProcessor.java:82) 
at org.glassfish.jersey.linking.LinkFilter.filter(LinkFilter.java:86) 
at org.glassfish.jersey.server.ContainerFilteringStage$ResponseFilterStage.apply(ContainerFilteringStage.java:238) 
at org.glassfish.jersey.server.ContainerFilteringStage$ResponseFilterStage.apply(ContainerFilteringStage.java:202) 
at org.glassfish.jersey.process.internal.Stages.process(Stages.java:171) 
at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:376) 
at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:368) 
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:262) 
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) 
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) 
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:320) 
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:236) 
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028) 
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:373) 
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381) 
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344) 
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:219) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:169) 
at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:232) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at com.googlecode.objectify.cache.AsyncCacheFilter.doFilter(AsyncCacheFilter.java:58) 
at com.googlecode.objectify.ObjectifyFilter.doFilter(ObjectifyFilter.java:48) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
at org.mortbay.jetty.Server.handle(Server.java:326) 
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) 
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437) 
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444) 
at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:188) 
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308) 
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) 
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) 
at java.lang.Thread.run(Thread.java:724) 

产生的原因:java.lang.IllegalAccessException:反思是不允许私人最终诠释java.lang.String.count ... 54更多

我读到它可能与GAE不允许的反射有关。有没有办法在泽西岛禁用反射?

回答