Учебники

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

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

Характеристики

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

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

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

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

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

Введен новый необязательный этап — время соединения. Эта фаза находится между временем компиляции и временем выполнения. На этом этапе можно собрать и оптимизировать набор модулей, создавая собственный образ среды выполнения с помощью инструмента 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

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

Выход

Он выведет следующий вывод на консоль.