Java 9 - модульная система

В Java 9 был представлен новый вид программного компонента, называемого модулем. Модуль - это набор кода и данных с самоописанием, у которого есть имя для его идентификации.

Особенности

С помощью компонента "Модули" в Java 9 были добавлены следующие усовершенствования:

  • Введен новый необязательный этап - время связывания. Эта фаза находится между временем компиляции и временем выполнения. На этом этапе можно собрать и оптимизировать набор модулей, создав пользовательский образ времени выполнения с помощью инструмента jlink.

  • javac, jlink и java имеют дополнительные параметры для указания путей к модулям, которые позволяют находить определения модулей.

  • Формат JAR обновлен как модульный JAR, который содержит файл module-info.class в своем корневом каталоге.

  • Представлен формат JMOD, формат упаковки (похожий на JAR), который может включать собственный код и файлы конфигурации.

Создание модуля

Следуя инструкциям по созданию модуля, скажите com.tutorialspoint.greetings.

Шаг 1

Создайте папку C: \> JAVA \ src. Теперь создайте папку com.tutorialspoint.greetings, которая совпадает с именем создаваемого модуля.

Шаг 2

Создайте module-info.java в папке C: \> JAVA \ src \ com.tutorialspoint.greetings со следующим кодом.

module-info.java

module com.tutorialspoint.greetings { }

module-info.java - это файл, который используется для создания модуля. На этом этапе мы создали модуль с именем com.tutorialspoint.greetings. По соглашению этот файл должен находиться в папке, имя которой совпадает с именем модуля.

Шаг 3

Добавьте исходный код в модуль. Создайте папку Java9Tester.java в папке C: \> JAVA \ src \ com.tutorialspoint.greetings \ com \ tutorialspoint \ greetings со следующим кодом.

Java9Tester.java

package com.tutorialspoint.greetings;

public class Java9Tester {
   public static void main(String[] args) {
      System.out.println("Hello World!");
   }
}

По соглашению, исходный код модуля должен находиться в том же каталоге, который является именем модуля.

Шаг 4

Создайте папку C: \> JAVA \ mods. Теперь создайте папку com.tutorialspoint.greetings, которая совпадает с именем созданного нами модуля. Теперь скомпилируйте модуль в каталог модов.

C:/ > JAVA > javac -d mods/com.tutorialspoint.greetings 
   src/com.tutorialspoint.greetings/module-info.java 
   src/com.tutorialspoint.greetings/com/tutorialspoint/greetings/Java9Tester.java

Шаг 5

Запустим модуль, чтобы увидеть результат. Выполните следующую команду.

C:/>JAVA>java --module-path mods -m com.tutorialspoint.greetings/com.tutorialspoint.greetings.Java9Tester

Здесь путь к модулю указывает расположение модуля в виде модов, а -m обозначает основной модуль.

Вывод

На консоли будет напечатан следующий вывод.

Hello World!