A Java module is a collection of classes in a JAR or in a directory that also contains a special class named module-info. If there is this file in a JAR or directory, then it is a module, otherwise, it is just a collection of classes that are on the classpath (or not). Java 8, and the earlier versions will just ignore that class as it is never used as code. This way, using older Java, causes no harm, and backwards compatibility is maintained.
The module information defines what the module exports and what it requires. It has a ...