ivy-users,
Recently I deployed a webapp that uses Ivy at runtime to resolve some
module information and obtained the following SecurityException:
java.security.AccessControlException: access denied
(java.util.PropertyPermission * read,write)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
java.security.AccessController.checkPermission(AccessController.java:546)
java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1252)
java.lang.System.getProperties(System.java:582)
org.apache.ivy.core.settings.IvySettings.addSystemProperties(IvySettings.java:294)
org.apache.ivy.core.settings.IvySettings.<init>(IvySettings.java:290)
org.apache.ivy.core.settings.IvySettings.<init>(IvySettings.java:212)
Often shared web containers prohibit calls to System.getProperties() which Ivy
attempts to do when populating the 'bootstrap' variables.
Originally I was going to suggest that Ivy only accesses the System variables
it needs to access via System.getProperty(String) but then realised that this
is probably not possible because some variables are dynamically named.
Would it be possible to have some kind of flag in IvySettings that would
prevent Ivy from trying to access System.getProperties()?
Regards,
Jeff