Java 9 の不正なリフレクティブ アクセス: 詳細な調査
Java 9 では不正なリフレクティブ アクセスの概念が導入され、これにより zahlreichen が引き起こされました。解決方法 このエラーメッセージに関する質問です。この記事では、違法な反射型アクセスの性質、アラートがトリガーされる状況、および考えられる解決策について詳しく説明します。
Java 9 のモジュール システムでは、モジュール性#緩和された強力なカプセル化 の概念が導入されています。これは、不正な反射アクセスを理解するための鍵となります。モジュール内のコードによる他のモジュール コードおよび表示可能なパッケージへのアクセスは、厳密に制御されます。ただし、Java 9 では、モジュールの強力なカプセル化を緩和できます。
ランタイム システムは次の操作を提供できます:
不正アクセスの概念
次の状況でリフレクション API が正常に呼び出される場合、「不正な」リフレクション アクセスがトリガーされます。
アラートをトリガーするメカニズム
Java 9 のカプセル化の緩和は、新しい起動オプション --illegal-access を使用してコンパイル時に制御できます。デフォルトでは、このオプションは「許可」に設定されています。このモードでは、そのようなパッケージに対する最初の反映されたアクセス操作によってアラートがトリガーされますが、それ以降の警告は発行されません。この警告には、さらに警告を有効にする方法に関する情報が含まれています。
設定オプション
--illegal-access オプションは次のモードで設定できます:
デバッグと修復の推奨事項
警告メッセージの例
不正な反射アクセス操作が検出されたときに発行される警告メッセージは、次の形式に従います:
WARNING: Illegal reflective access by $PERPETRATOR to $VICTIM
ここで:
予防措置
このような警告を回避し、将来のセキュリティを確保するには、モジュールがこれらの違法な反射アクセスを行わないようにする必要があります。
以上がJava 9 での「不正なリフレクティブ アクセス」警告を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。