ホームページ > Java > &#&チュートリアル > Java 9 で自動生成されたモジュール名の「モジュール記述子を導出できません」エラーを解決するにはどうすればよいですか?

Java 9 で自動生成されたモジュール名の「モジュール記述子を導出できません」エラーを解決するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 03:43:12
オリジナル
695 人が閲覧しました

How to Resolve

Java 9 で自動生成されたモジュール名のモジュール記述子を導出できません?

Java 9 では、 「native」などの予約キーワードを含む依存関係の自動生成モジュール名。これにより、「モジュールが見つかりません」などのエラーが発生する可能性があります。

問題の理解

Java 9 では、コードのカプセル化と分離を可能にするモジュールの概念が導入されました。モジュールには、Java 識別子の規則に従う必要がある一意の名前が付いています。ただし、「ネイティブ」などの特定のキーワードはモジュール名の一部として使用できません。

考えられる回避策

1.自動モジュール名マニフェスト エントリの使用

解決策の 1 つは、問題のある依存関係の JAR ファイルに「自動モジュール名」マニフェスト エントリを追加することです。このエントリは、アーティファクトのカスタム モジュール名を指定し、自動生成されたモジュール名をオーバーライドします。たとえば、Netty Epoll 依存関係のマニフェスト ファイルを変更して、

<Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name>
ログイン後にコピー

2 を含めることができます。 JAR へのモジュール宣言の追加

アーティファクト所有者は、「module-info.java」ファイルを使用してモジュール宣言を JAR に追加することもできます。これにより、モジュール名が明示的に定義され、Java 9 のモジュール システムとの互換性が確保されます。

代替命名規則

Java 仕様に従って、モジュール名は有効なパッケージ名である必要があります。依存関係のインターネット ドメイン名が有効なパッケージ名に変換されない場合に対応するために、次の規則が提案されています:

  • ハイフンまたはその他の特殊文字をアンダースコアに変換します。
  • キーワードにアンダースコアを追加します。
  • 禁止された文字で始まるコンポーネントの前に、 underscore.

ただし、キーワードとしてのステータスのため、Java 9 ではモジュール名にアンダースコアを使用することは推奨されないことに注意してください。

以上がJava 9 で自動生成されたモジュール名の「モジュール記述子を導出できません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート