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
という項目を入れておくとそれが自動モジュール名となるので、将来モジュール化したときに使う予定の名をあらかじめ記載しておけば、モジュール化してからの変更を少なくできるわけですね。