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
C:\JAVA\src\com.tutorialspoint.greetingsフォルダにmodule-info.javaを作成:
module com.tutorialspoint.greetings { }
module-info.javaはモジュール作成に使用するファイル。慣例としてモジュール名と同名のフォルダに配置します。
ステップ3
モジュールにソースコードを追加。C:\JAVA\src\com.tutorialspoint.greetings\com\tutorialspoint\greetingsフォルダにJava9Tester.javaを作成:
package com.tutorialspoint.greetings;
public class Java9Tester {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
ステップ4
C:\JAVA\modsフォルダを作成し、同名のモジュールフォルダを作成。モジュールを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
- C# usingステートメント完全ガイド:名前空間インポート、エイリアス、静的ディレクティブ
- Java演算子をマスター:種類、構文、実践例
- Java入出力をマスター:表示、読み取り、データフォーマット
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Java無名インナークラス完全ガイド:定義、構文、実践例
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例
- Javaアサーション完全ガイド:バグ早期発見とコード信頼性の向上