はじめに
Java SE11(Silver)で新たに試験項目に追加されたモジュールシステムについて、
基本事項をサンプルを交えて説明し、試験で必要そうなポイントを紹介していきたいと思います。
今回は最終回となります。
前回までは資格対策を意識してコマンド中心での操作を説明しましたが、
今回はeclipse上で同様の操作を行っていきます。
初めての方はこちらからどうぞ ⇒ 第1回【概要・準備編】
1.準備
基本的には第2回の操作を行っていきます。
各プロジェクトのmodule-infoは以下の通りです。
第3回の続きで進める場合は注意してください。
module myclient{ requires myservice; }
module myservice{ exports jp.ssie.ocjp.service; requires myutil; }
module myutil{ exports jp.ssie.ocjp.util; }
2.jarファイルの生成
コマンドで生成していたjarファイルですが、念のためeclipseでの作成方法を以下に記載します。
(ここはモジュールに関係ない既存の仕組みですが、2回目記事の手順に沿う形で行っています。)
①プロジェクト右クリック ⇒ エクスポート
以下画面が開くので、「Java」⇒「JARファイル」クリックします。
①リソースの選択
以下画面で、リソースの選択(デフォルトで選択されていると思うので確認)、
およびエクスポート先を指定して完了します。
第2回目の時には試験対策を意識してコマンドで行いましたが、
eclipseを使用している場合はこちらの方が楽だと思います。
3.モジュールパスの設定
ここが今回のメインとなります。
モジュールシステムを使っていてかつ、requiresを宣言している場合、
何もしないとeclipse上でコンパイルエラーが発生します。
(↓ myserviceの場合)
そこで、requiresをする場合には以下の手順でモジュールパスを設定します。
①ビルド・パス設定を開く
プロジェクト右クリック
⇒ ビルド・パス
⇒ ビルド・パスの構成
②モジュールパスにjar等を設定
モジュールパスをクリックして選択
⇒「JARの追加」や「外部JARの追加」(jarファイルを使う場合)
イメージ的には、Java8以前で使用していたクラスパスではなくモジュールパスを使用する形となります。
これで以下の様に、myserviceのコンパイルエラーが消えてくれます。
あとは同様に、
myserviceのjar生成
⇒ myclientのモジュールパス設定(myservice.jar, myutil.jar両方)
まとめ
4回に渡ってモジュールシステムに関して説明してきましたが、今回が最後となります。
試験問題自体はほぼ暗記で済むような内容なのですが、
理解して実際に試してみるとなると意外とやることが多く感じました。
これからJava Silver SE11の受験を考えている方の参考になれば幸いです。