requires ディレクティブで自動モジュールが使用されていることを報告します。
自動モジュールはクラスパスの型に依存する可能性があるため信頼性が低く、明示的なモジュールに変換された場合にその名前とエクスポートされたパッケージが変わる可能性があります。
Javac の -Xlint:requires-automatic および -Xlint:requires-transitive-automatic オプションに対応しています。
最初のオプションは自動モジュールが使用されていることを注意喚起するものです。
2 つ目のオプションは自動モジュールに対する暗黙の可読性を確立することで、モジュールの作成者に該当モジュールのユーザーを危険にさらしていることを警告するものです。
例:
//module-info.java
module org.printer {
requires transitive drivers.corp.org; // 'drivers.corp.org' が自動モジュールの場合に報告されます
}
推移的な依存関係についてのみ警告するには、「推移的な依存関係のみをハイライトする」オプションを使用します。