apache / apache/openwhisk-runtime-java

JarLoader breaks strong encapsulation of JDK classes

Open
#10 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.