Javaのモジュールシステムで忘れてはいけないこと

Java11ではモジュールシステムという仕組みが採用されています。古いプログラムではモジュールを使ってないので、改修時などにモジュールシステムを組み込むやり方として、

ボトムアップ

トップダウン

の2つが考えられます。

元々のモジュールの仕組みの無いパッケージは、無名モジュールとして扱われますが、それを名前付きモジュールに変換していくのは、通常はボトムアップ移行で行われます。最も依存されている末端から名前付きモジュールにしていきます。

 

それが難しい場合には、トップダウン式で移行します。逆のやり方で無名モジュールを名前付きモジュールに移行させていくのですが、「名前付きモジュールから無名モジュールにはアクセスできない」(モジュール名が無いのでrequiresディレクティブにかけない)ということで、クラスパス上にあって無名モジュールとして扱われているJARがいるを、モジュールパス上に移動し、自動モジュールにします。その後、最も依存しているトップのパッケージから名前付きモジュールに移行していきます。

 

ううう、難しいです。が、これからのJavaプログラムではモジュールシステムをしっかり意識していかないといけないようですね。

 

備忘録でした。