java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")

时间:2021-10-16 20:30:33

转自:https://blog.csdn.net/bluecard2008/article/details/80921682?utm_source=blogxgwz0

摘要: 今天在使用jetty做容器运行一个java web app时却给出了这样的错误: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 java.

今天在使用jetty做容器运行一个java web app时却给出了这样的错误:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
java.security.AccessControlException: access denied ( "java.lang.RuntimePermission"  "getClassLoader" )
     at java.security.AccessControlContext.checkPermission(Unknown Source)
     at java.security.AccessController.checkPermission(Unknown Source)
     at org.eclipse.jetty.server.handler.ContextHandler$Context.getClassLoader(ContextHandler.java: 2390 )
     at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java: 210 )
     at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java: 250 )
     at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java: 106 )
     at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java: 103 )
     at org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup(ContainerInitializer.java: 106 )
     at org.eclipse.jetty.annotations.ServletContainerInitializerListener.doStart(ServletContainerInitializerListener.java: 107 )
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 64 )
     at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(AggregateLifeCycle.java: 81 )
     at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java: 58 )
     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java: 96 )
     at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java: 115 )
     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java: 763 )
     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java: 249 )
     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java: 1242 )
     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java: 717 )
     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java: 494 )
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 64 )
     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java: 95 )
     at org.eclipse.jetty.server.Server.doStart(Server.java: 282 )
     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java: 64 )
     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedAdapter.start(JettyEmbeddedAdapter.java: 67 )
     at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java: 85 )
     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedLauncherMain.main(JettyEmbeddedLauncherMain.java: 42 )

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")

在网上搜索一番后,找到了解决办法:

1. 查看工程使用的哪个JRE

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")

2. 在这个目录下的【security】文件夹下找到【java.policy】文件:

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")

3. 用记事本或者notepad++打开它,并在grant中增加下面的两行,并保存。

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "getClassLoader")

4. 重启Jetty,错误消失,结果正常。

至于为什么这样可以解决,网上还搜到相关说明。我暂时也没时间去深究,等以后有时间再说吧。

版权声明:本文内容由互联网用户自发贡献,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至: yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。