[
https://issues.apache.org/jira/browse/LANG-1383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16847386#comment-16847386
]
juergen schmied commented on LANG-1383:
---------------------------------------
Same here:
WARNING: Illegal reflective access by
org.apache.commons.lang3.builder.CompareToBuilder
(file:/D:/maven_repo/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar)
to field java.lang.String.serialVersionUID
WARNING: Please consider reporting this to the maintainers of
org.apache.commons.lang3.builder.CompareToBuilder
> Illegal Reflective Access Operation
> -----------------------------------
>
> Key: LANG-1383
> URL: https://issues.apache.org/jira/browse/LANG-1383
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.builder.*
> Affects Versions: 3.7
> Reporter: Brian Schack
> Priority: Major
> Attachments: Test.java
>
>
> ReflectionToStringBuilder::toString prints an illegal access warning to
> System.err. The warning suggests to report this issue to the Apache Commons
> maintainers.
> Boolean.TRUE is such a simple value that I don't really need
> ReflectionToStringBuilder. But more complex types (such as HashMap) print the
> same warning. I chose Boolean.TRUE in order to simplify this example.
> When I searched for this warning message, I found a StackOverflow answer
> which suggested to report it to the package maintainers ([JDK9: An illegal
> reflective access operation has occurred.
> org.python.core.PySystemState|https://stackoverflow.com/questions/46230413/jdk9-an-illegal-reflective-access-operation-has-occurred-org-python-core-pysys/46230678]).
> I also asked my own StackOverflow question about how to throw an exception
> for this warning ([How can I throw an exception for an illegal reflective
> access
> warning?|https://stackoverflow.com/questions/49076972/how-can-i-throw-an-exception-for-an-illegal-reflective-access-warning]).
> I will try to change my code to avoid this warning, but it also seems that
> Apache Commons should not cause the warning. Perhaps it could use different
> methods to get the values of the fields, or skip the private fields, or throw
> an exception? The warning message suggests that the Java maintainers want the
> Apache Commons maintainers to avoid this warning. And when they disable this
> illegal access in the future, then it could impact Apache Commons.
> Code:
> {{import org.apache.commons.lang3.builder.*;}}
> {{class Test {}}
> {{public static void main(String[] args) {}}
> {{System.out.println(ReflectionToStringBuilder.toString(Boolean.TRUE));}}
> {{}}}
> {{}}}
> Output:
> {{WARNING: An illegal reflective access operation has occurred}}
> {{WARNING: Illegal reflective access by
> org.apache.commons.lang3.builder.ReflectionToStringBuilder
> ([file:/Users/brianschack/eclipse-workspace/User%20Libraries/com|file:///Users/brianschack/eclipse-workspace/User%20Libraries/com]mons-lang3-3.7/commons-lang3-3.7.jar)
> to field java.lang.Boolean.value}}
> {{WARNING: Please consider reporting this to the maintainers of
> org.apache.commons.lang3.builder.ReflectionToStringBuilder}}
> {{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}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)