Tomcat – java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
Written on
July 31, 2008 at 8:27 am by
mkyong
As i said in previously post, Tomcat 5.5.25 made a lot modified at policy file, which may enhance security on web application but it cause a lot work from deployment work. I hit another error
SEVERE: Context initialization failed java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
vi 04webapps.policy which usually located at policy.d folder
mkyong@mkyong-desktop:/etc/tomcat5.5/policy.d$ 04webapps.policy
add following statement in policy file
permission java.lang.RuntimePermission "accessDeclaredMembers";
For example,
// JVM properties to allow read access
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
// Required for OpenJMX
permission java.lang.RuntimePermission "getAttribute";
// Allow read of JAXP compliant XML parser debug
permission java.util.PropertyPermission "jaxp.debug", "read";
// Precompiled JSPs need access to this package.
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
permission java.lang.RuntimePermission "accessDeclaredMembers";
};Saved it, restart Tomcat and Done.


