首頁 > Java > java教程 > 如何解決自動產生的名稱包含保留關鍵字的 Java 9 模組依賴性問題?

如何解決自動產生的名稱包含保留關鍵字的 Java 9 模組依賴性問題?

Barbara Streisand
發布: 2024-11-28 15:02:10
原創
393 人瀏覽過

How to Resolve Java 9 Module Dependency Issues with Auto-Generated Names Containing Reserved Keywords?

無法解決 Java 9 中自動產生名稱的模組相依性?

當與自動產生的模組存在依賴關係時,會出現此問題name 包含關鍵字“native”,該關鍵字在 Java 9 中保留。因此,無法將其作為依賴項添加到模組中

解決方案:

要解決此問題,可以考慮兩種主要方法:

  1. 新增自動模組名稱屬性:

    工件擁有者可以打包一個META-INF/MANIFEST.MF文件,其中包含指定 Automatic-Module-Name 屬性的工件。此屬性定義模組描述符要使用的模組名稱。透過將 Automatic-Module-Name 設定為有效名稱(不包括「native」),可以解決問題。

  2. 將模組聲明加入JAR:

    工件擁有者可以使用以下方式新增模組聲明module-info.java 到他們的JAR 檔案。這允許他們明確指定模組名稱,從而避免自動產生的名稱。然而,這種方法需要逐步遷移,因為函式庫和框架自下而上地採用它。

模組描述符規範:

根據Java 9 模組聲明規範,模組名稱由一個或多個以句點分隔的Java 標識符組成。這表示模組名稱必須遵守以下規則:

  • 每個元件必須是有效的 Java 識別碼(不包括關鍵字)。
  • 如果用於模組名稱的網域包含特殊字元或關鍵字,必須轉換為底線。
  • 如果組件以數字或其他不允許作為標識符第一個字元的字元開頭,則下劃線必須帶有前綴。

Java 9 中底線的注意事項:

雖然通常允許下劃線作為模組名稱的一部分,但請務必注意下劃線現在是Java 9 中的關鍵字。因此,必須避免包含下劃線作為初始字元的識別碼。例如:

int _native; // Works fine
int _; // Causes an error in Java 9
登入後複製

以上是如何解決自動產生的名稱包含保留關鍵字的 Java 9 模組依賴性問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板