無法為Java 9 中自動產生的模組名稱派生模組描述符
使用Java 9 時,嘗試時可能會遇到錯誤使用包含保留關鍵字(例如“native”)的自動產生的模組名稱新增依賴項。出現此錯誤的原因是 Java 9 模組名稱必須遵循特定的命名約定,且「native」不是有效的 Java 識別碼。
解決此問題的一種方法是透過新增「META-INF」來修改依賴項的 JAR 檔案/MANIFEST.MF」文件,具有「Automatic-Module-Name」屬性。此屬性指定 JAR轉換為自動模組時要使用的模組名稱。文件。這些聲音明顯定義了模組名稱及其依賴項,這可以幫助解決無效模組名稱的問題。然而,這種方法需要與受影響的庫的所有者合作。
根據Java 模組系統規範,模組名稱應遵循以下命名約定:
<dependency> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> <version>${netty.version}</version> <classifier>${epoll.os}</classifier> </dependency> // Add a manifest file to the dependency's JAR: <manifestEntries> <Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name> </manifestEntries>
模組名稱必須由一個組成或多個由「.」分隔的Java 識別碼
如果遵循相同的命名規則,套件名稱可以用作模組名稱,但網域有某些例外。
以上是如何使用自動產生的模組名稱解決 Java 9 中的「無法派生模組描述符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!