Java 9 モジュールシステム
Java 9 の最大の変更点の1つは、モジュールシステム(Jigsaw プロジェクト)の導入です。
モジュールとは、コードとデータのカプセル化体です。モジュールのコードは複数のパッケージに編成され、各パッケージには Java クラスとインターフェースが含まれます。モジュールのデータには、リソースファイルやその他の静的情報が含まれます。
Java 9 モジュールの重要な特徴は、そのアーティファクトのルートディレクトリにモジュールを記述する module-info.class ファイルが含まれていることです。アーティファクトの形式は、従来の JAR ファイルまたは Java 9 で新しく追加された JMOD ファイルのいずれかです。このファイルは、ルートディレクトリにあるソースコードファイル module-info.java からコンパイルされます。このモジュール宣言ファイルは、モジュールのさまざまな特徴を記述できます。
module-info.java ファイルでは、新しいキーワード module を使用してモジュールを宣言できます。次に例を示します。以下に、モジュール com.mycompany.mymodule の最も基本的なモジュール宣言を示します。
module com.サンプル.mymodule {
}
モジュールの作成
次に、com.サンプル.greetingsのモジュールを作成します。
ステップ1
フォルダ C:\>JAVA\src を作成し、そのディレクトリの下にモジュール名と同じ名前のフォルダ com.サンプル.greetings を作成します。
ステップ2
C:\>JAVA\src\com.サンプル.greetings ディレクトリに module-info.java ファイルを作成します。コードは次のとおりです:
module com.サンプル.greetings { }
module-info.java はモジュールを作成するために使用されます。このステップでは、com.サンプル.greetings モジュールを作成しました。
ステップ3
モジュールにソースコードファイルを追加します。ディレクトリ C:\>JAVA\src\com.サンプル.greetings\com\サンプル\greetings に Java9Tester.java ファイルを作成します。コードは次のとおりです:
package com.サンプル.greetings;
public class Java9Tester {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
ステップ4
フォルダ C:\>JAVA\mods を作成し、そのディレクトリに com.サンプル.greetings フォルダを作成して、モジュールをこのディレクトリにコンパイルします:
C:/>JAVA> javac -d mods/com.サンプル.greetings src/com.サンプル.greetings/module-info.java src/com.サンプル.greetings/com/サンプル/greetings/Java9Tester.java
ステップ5
モジュールを実行し、出力結果を確認します:
C:/>JAVA> java --module-path mods -m com.サンプル.greetings/com.サンプル.greetings.Java9Tester Hello World!
module-pathモジュールが存在するパスを指定します。
-m主要モジュールを指定します。
その他の拡張
Java 9 の新機能