There are a lot of questions about illegal reflective access in Java 9.
I have found plenty of discussion about working around the error messages, but I would love to know what an illegal reflective access actually is.
So my question is:
What defines an illegal reflective access and what circumstances trigger the warning?
I have gathered that it has something to do with the encapsulation principles that were introduced in Java 9, but I can’t find an explanation of how it all hangs together, what triggers the warning, and in what scenario.