モジュールの依存関係 あるモジュールが別のモジュールに依存している、または別のモジュールを必要としていることを指します。モジュールの依存関係は、他のモジュールへの依存関係の宣言で導入されました。 記事「EclipseIDEでのJava9を使用したモジュールの開発、パート1」のセクション。 2つの記事の最初の「モジュールの依存関係の使用、パート1」では、メインモジュールと依存関係モジュールの2つのモジュールに対して2つのJavaプロジェクトを作成しました。 Eclipse IDEは単一のプロジェクトで複数のモジュールをサポートしていないため、1つのJavaプロジェクトで両方のモジュールを作成することはできませんでした。 2つのプロジェクトを作成したので、この続きの記事では、各プロジェクトを個別のJARファイルにエクスポートします。モジュールをJARファイルとしてエクスポートおよび使用する方法については、以前のチュートリアル「Java9モジュールをJARファイルとして使用する」で説明しています。 1つのJARに複数のモジュールを追加することは現在サポートされていませんが、将来のJavaバージョンで計画されています。この記事では、2つのJavaプロジェクトの構成と、モジュールの依存関係を示すためのメインモジュールアプリケーションの実行について説明します。この記事には次のセクションがあります:
- メインJavaプロジェクトのビルドパスの設定
- メインJavaプロジェクトをJARファイルにエクスポートする
- 依存関係JavaプロジェクトをJARファイルにエクスポートする
- 実行構成の追加
- メインモジュールJavaアプリケーションの実行
- 結論
メインJavaプロジェクトのビルドパスの設定
図1の赤いマーカーで示されているように、以前に開発された2つのJavaプロジェクトにはエラーがあります。エラーは、2つのモジュールが別々のプロジェクトで定義されており、依存関係プロジェクトがメインプロジェクトのビルドパスにないために示されています。
>
図1: エラーのあるJavaプロジェクト
このセクションでは、 MainModuleのビルドパスを構成します。 HelloJavaModuleを追加するプロジェクト ビルドパスに投影します。 MainModuleを右クリックします パッケージエクスプローラーで、ビルドパス>ビルドパスの構成を選択します 、図2に示すように。
図2: パッケージエクスプローラー>ビルドパス>ビルドパスの構成
プロパティ ウィンドウ、Javaビルドパス 図3に示すように、デフォルト設定が表示されます。
図3: Javaビルドパス
プロジェクトを選択します タブをクリックし、モジュールパスを選択します 、図4に示すように、[追加…]をクリックします
図4: Javaビルドパス>プロジェクト>モジュールパス>追加…
必要なプロジェクトの選択 ウィンドウに依存関係プロジェクトHelloJavaModuleが表示されます 、図5に示すように、 HelloJavaModuleを選択します プロジェクトして[OK]をクリックします。
図5: 追加するプロジェクトの選択
HelloJavaModule プロジェクトがモジュールパスに追加されます (図6を参照)。 適用して閉じるをクリックします 。
図6: Modulepathに追加されたJavaプロジェクトHelloJavaModule
エラーと赤いマーカーはMainModuleから削除されます 図7に示すように、プロジェクト。
図7: MainModuleから削除されたエラー
メインJavaプロジェクトをJARファイルにエクスポートする
HelloJavaModuleを追加する MainModuleのビルドパスにプロジェクトします プロジェクトは、ビルド/コンパイル時のエラーのみを削除します。ランタイムの場合、各モジュールをJARファイルにエクスポートし、プロジェクトの実行時にJARファイルをランタイムモジュールパスに追加する必要があります。プロジェクト間でモジュールを参照せずにモジュールパスを構成できるように、JARファイルを同じフォルダーにエクスポートする必要があります。前述のように、マルチモジュールJARはまだサポートされていませんが、Javaの新しいバージョンでサポートされる予定です。
MainModuleをエクスポートするには JARファイルにプロジェクトし、 MainModuleを右クリックします パッケージエクスプローラーで、[エクスポート]を選択します 、図8に示すように。
図8: パッケージエクスプローラー>MainModule>エクスポート
エクスポート ウィンドウで、Java>JARファイルを選択します 、図9に示すように、[次へ]をクリックします。
図9: エクスポート>Java>JARファイル>次へ
JARファイル仕様 、 MainModuleとしてエクスポートするリソースを選択します 、図10に示すように、エクスポート先を MainModulemodulesmainmodule.jarとして選択します。 。 [次へ]をクリックします。
図10: JARファイルの仕様
デフォルトのJARパッケージオプションを選択します (図11を参照)、[次へ]をクリックします。
図11: パッケージオプションの選択
次に、JARマニフェスト仕様をカスタマイズします 、これには、アプリケーションエントリポイントのクラスの選択が含まれます。 参照をクリックします メインクラスの場合 、図12に示すように。
図12: メインクラス>参照
メインクラスを選択 、 MainModuleを選択します main.moduleのクラス 図13に示すように、パッケージを作成し、[OK]をクリックします。
図13: メインクラスの選択
メインクラス 選択したら、図14に示すように、[完了]をクリックします。
図14: JARエクスポート>完了
mainmodule.jar MainModule / modulesにエクスポートされます 図15のパッケージエクスプローラに示すように、ディレクトリ。
図15: エクスポートされたJARmainmodule.jar
依存関係JavaプロジェクトをJARファイルにエクスポートする
このセクションでは、依存関係プロジェクト HelloJavaModuleをエクスポートします。 メインモジュールJARがエクスポートされるのと同じディレクトリ内のJARファイルに。 HelloJavaModuleをエクスポートするには プロジェクトをJARファイルに変換し、パッケージエクスプローラーでプロジェクトを右クリックして、エクスポートを選択します。 (図16を参照)。
図16: パッケージエクスプローラー>HelloJavaModule>エクスポート
エクスポート ウィンドウで、Java>JARファイルを選択します 、図17に示すように、[次へ]をクリックします。
図17: エクスポート>Java>JARファイル>次へ
JARファイル仕様 、 HelloJavaModuleとしてエクスポートするリソースを選択します 、図18に示すように、メインモジュールJARと同じエクスポート先( MainModulemodules )を選択します。 ディレクトリ。 JARファイル名は異なる必要があり、 helloJavaModule.jarです。 。 [次へ]をクリックします。
図18: 依存関係JARのJARファイル仕様
図19に示すように、デフォルトのJARパッケージオプションを選択し、[次へ]をクリックします。
図19: パッケージオプションの選択
次に、JARマニフェスト仕様をカスタマイズします。依存関係プロジェクトにはアプリケーションエントリポイントのクラスが含まれていないため、メインクラスを保持します 図20に示すように、フィールドを空にして、[完了]をクリックします。
図20: 依存関係プロジェクトのメインクラスはありません
helloJavaModule.jar MainModule / modulesにエクスポートされます 図21のパッケージエクスプローラに示すように、ディレクトリ。
図21: エクスポートされたJARhelloJavaModule.jar
実行構成の追加
メインモジュールのJavaアプリケーションを実行するには、 MainModuleの実行構成を作成する必要があります。 事業。 MainModuleを右クリックします パッケージエクスプローラーで、[プロパティ]を選択します 、図22に示すように。
図22: パッケージエクスプローラー>メインモジュール>プロパティ
[プロパティ]ウィンドウで、[実行/デバッグ設定]を選択します 新規…をクリックします 図23に示すように、新しい起動構成を作成します。
図23: [プロパティ]>[デバッグ設定の実行]>[新規]…
構成タイプの選択 、Javaアプリケーションを選択します 、図24に示すように。
図24: Javaアプリケーションとしての構成タイプの選択
構成ウィザードで、名前を指定します( MainModuleConfig )名前 フィールドで、プロジェクトが MainModuleとして選択されている 検索…をクリックします メインクラスの場合 、図25に示すように。
図25: 起動構成プロパティの設定
メインタイプの選択 、 main.module.MainModuleを選択します 入力して(図26を参照)、[OK]をクリックします。
図26: メインタイプの選択
メインクラス 選択したら、引数をクリックします 図27に示すように、タブをクリックして次にVM引数を選択します。
図27: [引数]タブの選択
図28に示すように、次のVM引数をVM引数フィールドに追加します。
--module-path modules/helloJavaModule.jar;modules/mainmodule.jar -m mainModule/main.module.MainModule
-module-path argは、2つのモジュールの2つのJARへのモジュールパスを設定します。 -m argはモジュールを設定します。 適用をクリックします 、図28に示すように。
図28: 実行構成設定の適用
図29に示すように、[OK]をクリックして、実行構成を完了します。
図29: 実行構成の完了
新しい実行構成、 MainModuleConfig 図30に示すように、が作成されます。[適用して閉じる]をクリックします。 [プロパティ]ウィンドウで。
図30: MainModuleプロジェクトのプロパティの適用
メインモジュールJavaアプリケーションの実行
次に、メインモジュールアプリケーションを実行して、メインモジュールが依存関係モジュールを呼び出すかどうかをテストします。 MainModule.javaを右クリックします パッケージエクスプローラーで、[実行>Javaアプリケーション]を選択します (図31を参照)。
図31: パッケージエクスプローラ>MainModule>実行>Javaアプリケーション
Javaアプリケーションからの出力は、コンソールに表示されます。 、図32に示すように、メインモジュールからのメッセージ「Hellofrom」は、メッセージ「Exported JavaModule!」と組み合わされます。依存関係モジュールから、「エクスポートされたJavaモジュールからこんにちは!」というメッセージを出力します。
図32: コンソール出力
結論
2つの記事で、Java9でのモジュール依存関係の使用について説明しました。