無法解決 Java 9 中自動產生名稱的模組相依性?
當與自動產生的模組存在依賴關係時,會出現此問題name 包含關鍵字“native”,該關鍵字在 Java 9 中保留。因此,無法將其作為依賴項添加到模組中
解決方案:
要解決此問題,可以考慮兩種主要方法:
新增自動模組名稱屬性:
工件擁有者可以打包一個META-INF/MANIFEST.MF文件,其中包含指定 Automatic-Module-Name 屬性的工件。此屬性定義模組描述符要使用的模組名稱。透過將 Automatic-Module-Name 設定為有效名稱(不包括「native」),可以解決問題。
將模組聲明加入JAR:
工件擁有者可以使用以下方式新增模組聲明module-info.java
模組描述符規範:
根據Java 9 模組聲明規範,模組名稱由一個或多個以句點分隔的Java 標識符組成。這表示模組名稱必須遵守以下規則:
Java 9 中底線的注意事項:
雖然通常允許下劃線作為模組名稱的一部分,但請務必注意下劃線現在是Java 9 中的關鍵字。因此,必須避免包含下劃線作為初始字元的識別碼。例如:
int _native; // Works fine int _; // Causes an error in Java 9
以上是如何解決自動產生的名稱包含保留關鍵字的 Java 9 模組依賴性問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!