Java Language Définir un module de base


Exemple

Les modules sont définis dans un fichier nommé module-info.java , nommé descripteur de module. Il doit être placé dans la racine du code source:

 |-- module-info.java
 |-- com
     |-- example
         |-- foo
             |-- Foo.java
         |-- bar
             |-- Bar.java

Voici un descripteur de module simple:

module com.example {
    requires java.httpclient;
    exports com.example.foo;
}

Le nom du module doit être unique et il est recommandé d'utiliser la même notation de nommage Reverse-DNS que celle utilisée par les packages pour garantir cela.

Le module java.base , qui contient les classes de base de Java, est implicitement visible par tous les modules et n'a pas besoin d'être inclus.

La requires déclaration nous permet d'utiliser d' autres modules, dans l'exemple le module java.httpclient est importé.

Un module peut également spécifier les paquets qu'il exports et le rend donc visible aux autres modules.

Le package com.example.foo déclaré dans la clause exports sera visible par les autres modules. Les sous-packages de com.example.foo ne seront pas exportés, ils ont besoin de leurs propres déclarations d' export .

À l'inverse, com.example.bar qui n'est pas répertorié dans exports clauses exports ne sera pas visible par les autres modules.