Greg Huber created WW-5101:
------------------------------

             Summary: AbstractLocalizedTextProvider illegal reflective access 
operation has occurred
                 Key: WW-5101
                 URL: https://issues.apache.org/jira/browse/WW-5101
             Project: Struts 2
          Issue Type: New Feature
          Components: Core
    Affects Versions: 2.5.26
            Reporter: Greg Huber


Testing on java 11 AbstractLocalizedTextProvider outputs

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider
(
[file:struts2-core-2.5.26.jar|file:///struts2-core-2.5.26.jar]
) to field java.util.ResourceBundle.cacheList
WARNING: Please consider reporting this to the maintainers of
com.opensymphony.xwork2.util.AbstractLocalizedTextProvider
WARNING: Use --illegal-access=warn to enable warnings of further illegal
reflective access operations
WARNING: All illegal access operations will be denied in a future release


clearMap(ResourceBundle.class, null, "cacheList");

private void clearMap(Class cl, Object obj, String name)
             throws NoSuchFieldException, IllegalAccessException,
NoSuchMethodException, InvocationTargetException {         Field field = 
cl.getDeclaredField(name);
         field.setAccessible(true); 
        Object cache = field.get(obj);         synchronized (cache) \{
             Class ccl = cache.getClass();
             Method clearMethod = ccl.getMethod("clear");
             clearMethod.invoke(cache);
         }
     }
When it executes the linefield.setAccessible(true);



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to