有谁知道如何修改catalina.policy以消除此AccessControlException:
2016年2月25日下午2:31:14 org.apache.tomee.catalina.ServerListener install
**SEVERE: TomEE Listener can't start OpenEJB**
java.security.AccessControlException: access denied (**"java.util.PropertyPermission" "tomee.skip-tomcat-log" "read"**)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) 在java.security.AccessController.checkPermission(AccessController.java:884) 在java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 在java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294) 在java.lang.System.getProperty(System.java:717) at java.lang.Boolean.getBoolean(Boolean.java:254) at org.apache.tomee.TomEELogConfigurer.configureLogs(TomEELogConfigurer.java:30) 在org.apache.tomee.catalina.ServerListener.install(ServerListener.java:170) 在org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:55) 在org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 在org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) 在org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110) 在org.apache.catalina.startup.Catalina.load(Catalina.java:638) 在org.apache.catalina.startup.Catalina.load(Catalina.java:663) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:497) 在org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) 在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
我所做的只是单击Eclipse中的Enable Security,然后重新启动服务器。 Tomcat甚至不必加载Web应用程序以防错误。 Tomcat是从Eclipse中启动的,具有以下选项: 的 -Dwtp.configured.security =真
记录: 服务器:Apache Tomcat(TomEE)/7.0.62(1.7.2) Eclipse:Eclipse Java EE IDE版本:Mars.1发行版(4.5.1) Java:jdk 1.8.0_73
Enable Security checkbox checked in Eclipse on Server Overview page
让我开心......
答案 0 :(得分:0)
我有同样的问题,我认为,我发现有两种方法作为可能的解决方案,只有第一种尝试:
grant {
permission java.security.AllPermission;
};
if (!Boolean.getBoolean("tomee.skip-tomcat-log")) {
// do some log initialisation ...
}
因此,如果您为Tomcat将环境属性“tomee.skip-tomcat-log”设置为“true”,则可以读取该属性并且不应该进行初始化,因此可能无法抛出异常... < / p>