The --add-exports option

You can use --add-exports to break encapsulation so that you can use an internal API whose default is to be inaccessible. Here is the syntax:

    --add-exports <source-module>/<package>=<target-module>(     ,<target-module>)*

This command-line option gives code in the <target-module> access to types in the <source-module> package.

Another method of breaking encapsulation is with a JAR file's manifest. Here is an example:

    --add-exports:java.management/sun.management
The --add-exports command-line option should only be used if deemed absolutely necessary. It is not advisable to use this option except for short-term solutions. The danger of using it routinely is that any updates to referenced Internal APIs could result in ...

Get Java 9: Building Robust Modular Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.