ホームページ > Java > &#&チュートリアル > Java 9 モジュール記述子エラー: 「ネイティブ」などの自動生成された名前を処理するにはどうすればよいですか?

Java 9 モジュール記述子エラー: 「ネイティブ」などの自動生成された名前を処理するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-28 17:36:10
オリジナル
787 人が閲覧しました

Java 9 Module Descriptor Errors: How to Handle Auto-Generated Names like

Java 9 で自動生成された名前のモジュール記述子を導出できない: 回避策の検討

Java 9 では、モジュールの導入により要件が生じました。 Java 識別子の規則に従ってモジュール名を定義します。ただし、この要件は、特定の自動生成モジュール名、特にキーワード「ネイティブ」を含むモジュール名に対して問題を引き起こします。

Netty Epoll トランスポート依存関係の場合を考えてみましょう。

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-transport-native-epoll</artifactId>
    <version>${netty.version}</version>
    <classifier>${epoll.os}</classifier>
</dependency>
ログイン後にコピー

この依存関係に対して自動生成されるモジュール名は「netty.transport.native.epoll」ですが、これは、 "native" キーワード。

この問題に対処するには、アーティファクトの META-INF/MANIFEST.MF ファイルを変更して Automatic-Module-Name 属性。この属性は、モジュール記述子で使用されるモジュール名を定義します:

<manifestEntries>
   <Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name>
</manifestEntries>
ログイン後にコピー
ただし、このソリューションにはアーティファクトの所有者との協力が必要なため、即時性が低いオプションになります。

An別のアプローチでは、アーティファクト所有者に

module-info.java を使用してモジュール宣言を JAR に含めるように依頼します。このアクションにより、ボトムアップの移行プロセスがトリガーされ、モジュール情報を提供しない依存関係がすべてのパッケージをエクスポートすると想定されます。

以上がJava 9 モジュール記述子エラー: 「ネイティブ」などの自動生成された名前を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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