Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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
Tomcat中Java安全管理器的NullPointerException_Java_Tomcat - Fatal编程技术网

Tomcat中Java安全管理器的NullPointerException

Tomcat中Java安全管理器的NullPointerException,java,tomcat,Java,Tomcat,我有一个Jersey REST应用程序,运行在Tomcat服务器上。在Tomcat中启用Java安全管理器时,我需要授予几个与hk2相关的权限 grant { permission java.util.PropertyPermission "org.glassfish.jersey.hk2.injection.manager.strategy", "read"; permission java.util.PropertyPermission "org.jvnet.hk2.prop

我有一个Jersey REST应用程序,运行在Tomcat服务器上。在Tomcat中启用Java安全管理器时,我需要授予几个与hk2相关的权限

grant {
    permission java.util.PropertyPermission "org.glassfish.jersey.hk2.injection.manager.strategy", "read";
    permission java.util.PropertyPermission "org.jvnet.hk2.properties.debug.service.locator.lifecycle", "read";
    permission java.util.PropertyPermission "org.jvnet.hk2.properties.bind.tracing.pattern", "read";
    permission java.util.PropertyPermission "org.jvnet.hk2.properties.bind.tracing.stacks", "read";
    permission java.util.PropertyPermission "org.jvnet.hk2.properties.useSoftReference", "read";
    permission java.util.PropertyPermission "org.jvnet.hk2.logger.debugToStdout", "read";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.webresources";
};
但我仍然得到以下NullPointerException:

CRITICAL: Servlet [Jersey REST Service] in web application [/app] threw load() exception
java.lang.NullPointerException
    at org.glassfish.hk2.utilities.ServiceLocatorUtilities.addClasses(ServiceLocatorUtilities.java:411)
    at org.glassfish.hk2.utilities.ServiceLocatorUtilities.enablePerThreadScope(ServiceLocatorUtilities.java:83)
    at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.createLocator(AbstractHk2InjectionManager.java:92)
    at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.<init>(AbstractHk2InjectionManager.java:62)
    at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.<init>(ImmediateHk2InjectionManager.java:38)
    at org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory$Hk2InjectionManagerStrategy$1.createInjectionManager(Hk2InjectionManagerFactory.java:55)
    at org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory.create(Hk2InjectionManagerFactory.java:73)
    at org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:69)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:123)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1112)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4829)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
CRITICAL:web应用程序[/app]中的Servlet[Jersey REST Service]引发了load()异常
java.lang.NullPointerException
位于org.glassfish.hk2.utilities.ServiceLocatorUtilities.addClasses(ServiceLocatorUtilities.java:411)
位于org.glassfish.hk2.utilities.ServiceLocatorUtilities.enablePerThreadScope(ServiceLocatorUtilities.java:83)
在org.glassfish.jersey.inject.hk2.abstracthk2injectmanager.createLocator上(abstracthk2injectmanager.java:92)
位于org.glassfish.jersey.inject.hk2.Abstracthk2injectManager。(Abstracthk2injectManager.java:62)
位于org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager。(ImmediateHk2InjectionManager.java:38)
在org.glassfish.jersey.inject.hk2.hk2injectionmanager工厂$hk2injectionmanager战略$1.createInjectionManager(hk2injectionmanager工厂.java:55)
位于org.glassfish.jersey.inject.hk2.Hk2InjectionManagerFactory.create(Hk2InjectionManagerFactory.java:73)
位于org.glassfish.jersey.internal.injection.Injections.createInjectionManager(Injections.java:69)
位于org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:259)
位于org.glassfish.jersey.servlet.WebComponent(WebComponent.java:311)
位于org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
位于org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
位于javax.servlet.GenericServlet.init(GenericServlet.java:158)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:282)
位于org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:279)
位于java.security.AccessController.doPrivileged(本机方法)
位于javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
位于org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:314)
位于org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:170)
位于org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:123)
位于org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1112)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1079)
位于org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:971)
位于org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4829)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
位于java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
位于org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
位于java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
位于org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
位于org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
在org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
位于org.apache.catalina.startup.catalina.start(catalina.java:682)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
(我使用的是Jersey 2.30.1,其中包括hk2.6.1)

我是否缺少应授予的任何权限