Java 9 モジュールシステム

Java 9 新特性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 新特性Java 9 の新機能

その他の拡張