我一直在将 Jersey v2.19 与 Google Appengine v1.9.22 一起使用,它在本地开发服务器中运行良好,没有任何问题,但是当我尝试将应用程序部署到 appengine 时。我得到多个例外
使用的框架:
AppEngine Java 1.9.22
泽西 2.19
物化 5.1.5
Guice 3.x
摇篮
以下是我在日志中得到的异常:
org.glassfish.jersey.internal.Errors logErrors:检测到以下警告:警告:检测到未知的 HK2 故障:
多异常堆栈 1 of 4
java.security.AccessControlException:访问被拒绝(“java.lang.RuntimePermission”“getClassLoader”) 在 com.google.appengine.runtime.Request.process-84bc59f0ba240851(Request.java) 在 java.security.AccessControlContext.checkPermission(AccessControlContext.java:382) 在 java.security.AccessController.checkPermission(AccessController.java:572) 在java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.ClassLoader.checkClassLoaderPermission(ClassLoader.java:1606) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1525) at org.jvnet.hk2 .internal.ProxyUtilities$1.run(ProxyUtilities.java:95) at org.jvnet.hk2.internal.ProxyUtilities$1.run(ProxyUtilities.java:90) at java.security.AccessController.doPrivileged(AccessController.java:34) at org.jvnet.hk2.internal.ProxyUtilities.secureCreate(ProxyUtilities.java:90) 在 org.jvnet.hk2.internal.ProxyUtilities。generateProxy(ProxyUtilities.java:206) 在 org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2038) 在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105) 在 org.jvnet .hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87) at org.glassfish.jersey.internal.inject.ContextInjectionResolver.resolve(ContextInjectionResolver.java:126) at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator .java:214) 在 org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:237) 在 org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:360) 在 org.jvnet.hk2。 internal.SystemDescriptor.create(SystemDescriptor.java:470) 在 org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:82) 在 org.jvnet.hk2.internal.SingletonContext$1。org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture$1.call(Cache.java:97) 在 java.util.concurrent.FutureTask.run(FutureTask.java:260) 的计算(SingletonContext.java:70) org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture.run(Cache.java:154) 在 org.glassfish.hk2.utilities.cache.Cache.compute(Cache.java:199) 在 org.jvnet.hk2。 internal.SingletonContext.findOrCreate(SingletonContext.java:121) at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2065) at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87) 在 org.glassfish.jersey.internal.inject.Providers.getAllRankedProviders(Providers.java:247) 在 org.glassfish.jersey.server.ApplicationHandler .getProcessingProviders(ApplicationHandler.java:758) at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:536) at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:183) at org. glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:349) at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:346) at org.glassfish.jersey.internal.Errors.process( Errors.java:315) 在 org.glassfish.jersey.internal.Errors.process(Errors.java:297) 在 org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255) 在 org.glassfish.jersey .server.ApplicationHandler.(ApplicationHandler.java:346) 在 org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:339) 在 org.glassfish.jersey.servlet.ServletContainer。init(ServletContainer.java:170) 在 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:393) 在 org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) 在 org.mortbay .component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662) at org.mortbay.jetty.servlet.Context.startContext(Context.java:140 ) 在 org.mortbay.jetty.webapp.WebAppContext 的 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 的 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)。 doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444) 在 com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java :308) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) 在 java.lang.Thread.run(线程.java:745)TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) at java.lang.Thread.run(Thread.java:745)TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300) at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441) at java.lang.Thread.run(Thread.java:745)
多异常堆栈 2 of 4
java.lang.IllegalArgumentException:尝试在 org.glassfish.jersey.process.internal.RequestScoped 范围内为 javax.servlet.http.HttpServletRequest 创建代理时,在 org.jvnet.hk2.internal.ProxyUtilities创建代理时出错.generateProxy(ProxyUtilities.java:212) 在 org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2038) 在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105) 在 org. jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87) 在 org.glassfish.jersey.internal.inject.ContextInjectionResolver.resolve(ContextInjectionResolver.java:126)
...修剪
多异常堆栈 3 of 4
java.lang.IllegalArgumentException:在尝试解决 com.app.webapp.filters.WebApiAuthFilter 的依赖项时发现错误
多异常堆栈 4 of 4
java.lang.IllegalStateException:无法执行操作:在 com.app.webapp.filters.WebApiAuthFilter 上解析
我已经搜索了可能的修复程序,但找不到与我的问题相关的任何内容,我使用 JDO 或 JPA,所以 asm jar 不兼容不是原因。
关于如何解决这个问题的任何想法?
更新 :
我试图找出这个异常的原因,我有一个过滤器,我在其中注入了 HttpServletRequest ,因此引发了异常,但不知道为什么。
@Provider
@WebApiAuth
public class AuthFilter implements ContainerRequestFilter {
// problem is because of injecting this
@Context
protected HttpServletRequest servletRequest;
}