Система модулей Java 9

Java 9 新特性Новые возможности Java 9

Одним из самых больших изменений в Java 9 является введение системы модулей (Project Jigsaw).

Модуль — это инкапсуляция кода и данных. Код модуля организован в несколько пакетов, каждый из которых содержит классы и интерфейсы Java; данные модуля включают файлы ресурсов и другую статическую информацию.

Важной особенностью модуля Java 9 является наличие файла module-info.class, описывающего модуль в корневом каталоге его артефакта. Артефакт может быть в традиционном формате файла JAR или в формате файла JMOD, недавно добавленном в Java 9. Этот файл компилируется из исходного файла module-info.java в корневом каталоге. Файл объявления модуля может описывать различные характеристики модуля.

В файле module-info.java мы можем использовать новое ключевое слово module для объявления модуля, как показано ниже. Ниже показано самое базовое объявление модуля для модуля com.mycompany.mymodule.

module com.example.mymodule {
}

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

Далее давайте создадим модульcom.example.greetings.

Шаг 1

Создайте папку C:\>JAVA\src, затем создайте папку com.example.greetings с тем же именем, что и модуль, в этом каталоге.

Шаг 2

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

module com.example.greetings { }

module-info.java используется для создания модуля. На этом шаге мы создали модуль com.example.greetings.

Шаг 3

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

package com.example.greetings;

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

Шаг 4

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

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

Шаг 5

Запустите модуль и просмотрите вывод:

C:/>JAVA> java --module-path mods -m com.example.greetings/com.example.greetings.Java9Tester
Hello World!

module-pathУказывает путь, где расположен модуль.

-mУказывает главный модуль.

Java 9 新特性Новые возможности Java 9

Другие расширения