Java 9 - モジュールシステム
モジュールと呼ばれる新しい種類のプログラミング コンポーネントである Java 9 が導入されました。モジュールはコードとデータの自己記述的なコレクションであり、それを識別するための名前があります。
特徴
Modules コンポーネントでは、Java 9 で次の拡張機能が追加されました −
- <リ>
新しいオプションのフェーズであるリンク時間が導入されました。このフェーズは、コンパイル時と実行時の中間です。このフェーズでは、一連のモジュールを組み立てて最適化し、jlink ツールを使用してカスタム ランタイム イメージを作成できます。
<リ>javac、jlink、および java には、モジュールの定義をさらに特定するモジュール パスを指定する追加のオプションがあります。
<リ>JAR 形式がモジュラー JAR として更新され、ルート ディレクトリに module-info.class ファイルが含まれます。
<リ>JMOD 形式が導入されました。これは、ネイティブ コードと構成ファイルを含めることができるパッケージ形式 (JAR に類似) です。
モジュールを作成しています
com.tutorialspoint.greetings と言うモジュールを作成する手順に従います。
ステップ 1
フォルダー C:\>JAVA\src を作成します。ここで、作成しているモジュールの名前と同じフォルダー com.tutorialspoint.greetings を作成します。
ステップ 2
次のコードを使用して、C:\>JAVA\src\com.tutorialspoint.greetings フォルダーに module-info.java を作成します。
module-info.java
module com.tutorialspoint.greetings { }
module-info.java は、モジュールを作成するために使用されるファイルです。このステップでは、com.tutorialspoint.greetings という名前のモジュールを作成しました。慣例により、このファイルはモジュール名と同じ名前のフォルダーに存在する必要があります。
ステップ 3
モジュールにソースコードを追加します。 C:\>JAVA\src\com.tutorialspoint.greetings\com\tutorialspoint\greetings フォルダーに Java9Tester.java を次のコードで作成します。
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 を作成します。モジュールを mods ディレクトリにコンパイルします。
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 はモジュールの場所を mods として提供し、-m はメイン モジュールを示します。
出力
コンソールに次の出力が表示されます。
Hello World!
Java