Java モジュール化がまだできない場合の一工夫

Java SE 9 からモジュールの概念が導入されて、モジュール間の依存関係を明示するようになりましたが、まだ Java SE 8 以前でコンパイルする必要がある等の事情で module-info.java を書けないような場合でも、今のうちにやっておくと良いことがあります。

Java SE 9 において、モジュール化されていない JAR アーカイブは自動モジュール (automatic module) として扱われることになりました。この場合のモジュール名は JAR アーカイブのファイル名から生成され、例えば foo-bar-1.0.jar のモジュール名は foo.bar となります。

しかし、 JAR アーカイブのマニフェストに Automatic-Module-Name という項目を入れておくとそれが自動モジュール名となるので、将来モジュール化したときに使う予定の名をあらかじめ記載しておけば、モジュール化してからの変更を少なくできるわけですね。