requires ディレクティブで自動モジュールが使用されていることを報告します。

自動モジュールはクラスパスの型に依存する可能性があるため信頼性が低く、明示的なモジュールに変換された場合にその名前とエクスポートされたパッケージが変わる可能性があります。

Javac の -Xlint:requires-automatic および -Xlint:requires-transitive-automatic オプションに対応しています。 最初のオプションは自動モジュールが使用されていることを注意喚起するものです。 2 つ目のオプションは自動モジュールに対する暗黙の可読性を確立することで、モジュールの作成者に該当モジュールのユーザーを危険にさらしていることを警告するものです。

例:


  //module-info.java
  module org.printer {
    requires transitive drivers.corp.org; // 'drivers.corp.org' が自動モジュールの場合に報告されます
  }

推移的な依存関係についてのみ警告するには、「推移的な依存関係のみをハイライトする」オプションを使用します。