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 со следующим кодом.
модуль-info.java
01
module-info.java — это файл, который используется для создания модуля. На этом шаге мы создали модуль с именем com.tutorialspoint.greetings. По соглашению этот файл должен находиться в папке, имя которой совпадает с именем модуля.
Шаг 3
Добавьте исходный код в модуль. Создайте файл Java9Tester.java в папке C:\>JAVA\src\com.tutorialspoint.greetings\com\ tutorialspoint\greetings со следующим кодом.
Java9Tester.java
10пре>По соглашению исходный код модуля должен лежать в том же каталоге, что и имя модуля.
Шаг 4
Создайте папку C:\>JAVA\mods. Теперь создайте папку com.tutorialspoint.greetings, имя которой совпадает с именем созданного нами модуля. Теперь скомпилируйте модуль в каталог модов.
28Шаг 5
Запустим модуль, чтобы увидеть результат. Выполните следующую команду.
31Здесь путь к модулю указывает расположение модуля как mods, а -m означает основной модуль.
Вывод
На консоли будет напечатан следующий вывод.
40
java