apache / apache/openwhisk-runtime-java
JarLoader breaks strong encapsulation of JDK classes
- Dominant language
- Java
- Stars
- 47
- Forks
- 58
- PR merge metrics
- No merged PRs in 30d
Description
`JarLoader#augmentEnv` performs illegal access on core JDK classes by breaking accessibility rules. This breaks the strong encapsulation rules outlined in [JEP 261](http://openjdk.java.net/jeps/261). Starting with Java 9 this will print a warning by default on the command line (and possibly have a performance and runtime impact). At some yet to be defined point in the future this will throw an exception by default. At some later yet to be defined point in the future this will always throw an exception.
I don't see an alternative to entirely moving away from modifying environment variables. They are readonly in Java. Modifying them is a hack that makes testing hard and multi threading impossible.
Contributor guide
Assessment
This issue has not been assessed yet.