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>
module-info.java を使用してモジュール宣言を JAR に含めるように依頼します。このアクションにより、ボトムアップの移行プロセスがトリガーされ、モジュール情報を提供しない依存関係がすべてのパッケージをエクスポートすると想定されます。
以上がJava 9 モジュール記述子エラー: 「ネイティブ」などの自動生成された名前を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。