On 26/08/2016 20:27, Steve Drach wrote:
:
The public “interface” for a multi-release jar is the set of public or
protected classes in the base (or root) section of the jar. By definition, no
new (i.e. without a corresponding base class) public or protected classes can
be contained in a versioned directory. Versioned directories can contain new
package-private classes. In practice these package-private classes are
dependencies for the public/protected classes in
in the same versioned directory.
The versioned section of a modular MR JAR may contain .class files
corresponding to types that are not in exported packages. In that
scenario then it doesn't matter if the types are public or not. In any
case, the JarFile code shouldn't be concerned this, it can leave any
checking to packaging time and the jar tool.
-Alan.