Used for module-info.class related queries used for module declaration in Java since its Java 9 release. This would mostly be coupled with java-9 or above tag.
The State of the Module System defines module declarations as:
A module’s self-description is expressed in its module declaration, a new construct of the Java programming language.
The simplest possible module declaration merely specifies the name of its module:
module com.foo.bar { }
The source code for a module declaration is, by convention, placed in a file named module-info.java
at the root of the module’s source-file hierarchy. The source files for the com.foo.bar module, e.g., might include:
module-info.java
com/foo/bar/alpha/AlphaFactory.java
com/foo/bar/alpha/Alpha.java
...
A module’s declaration does not include a version string, nor constraints upon the version strings of the modules upon which it depends. This is intentional: It is not a goal of the module system to solve the version-selection problem, which is best left to build tools and container applications.
Module declarations are part of the Java programming language, rather than a language or notation of their own, for several reasons