diff -r 2c33418a6d57 -r 83b611b88ac8 jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java --- a/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java Thu Apr 06 17:01:03 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/module/ModuleFinder.java Fri Apr 07 08:05:54 2017 +0000 @@ -228,14 +228,14 @@ * directory is treated as an exploded module rather than a directory of * modules.

* - *

The module finder returned by this method supports modules that are - * packaged as JAR files. A JAR file with a {@code module-info.class} in - * the top-level directory of the JAR file (or overridden by a versioned - * entry in a {@link java.util.jar.JarFile#isMultiRelease() multi-release} - * JAR file) is a modular JAR and is an explicit module. - * A JAR file that does not have a {@code module-info.class} in the - * top-level directory is created as an automatic module. The components - * for the automatic module are derived as follows: + *

The module finder returned by this method + * supports modules packaged as JAR files. A JAR file with a {@code + * module-info.class} in its top-level directory, or in a versioned entry + * in a {@linkplain java.util.jar.JarFile#isMultiRelease() multi-release} + * JAR file, is a modular JAR file and thus defines an explicit + * module. A JAR file that does not have a {@code module-info.class} in its + * top-level directory defines an automatic module, as follows: + *

* * * @@ -312,7 +312,9 @@ * *

As with automatic modules, the contents of a packaged or exploded * module may need to be scanned in order to determine the packages - * in the module. If a {@code .class} file (other than {@code + * in the module. Whether {@linkplain java.nio.file.Files#isHidden(Path) + * hidden files} are ignored or not is implementation specific and therefore + * not specified. If a {@code .class} file (other than {@code * module-info.class}) is found in the top-level directory then it is * assumed to be a class in the unnamed package and so {@code FindException} * is thrown.