首頁  >  文章  >  Java  >  如何解決 Java 9 中自動產生模組名稱的「無法派生模組描述符」錯誤?

如何解決 Java 9 中自動產生模組名稱的「無法派生模組描述符」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 03:43:12638瀏覽

How to Resolve

無法在 Java 9 中為自動產生的模組名稱派生模組描述符?

在 Java 9 中,使用為包含保留關鍵字(例如「native」)的依賴項自動產生的模組名稱。這可能會導致“找不到模組”之類的錯誤。

理解問題

Java 9 引入了模組的概念,它允許封裝和隔離程式碼。模組具有必須遵守 Java 識別碼規則的唯一名稱。但是,某些關鍵字(例如“native”)不能用作模組名稱的一部分。

可能的解決方法

1.使用自動模組名稱清單項目

一種解決方案是將「自動模組名稱」清單條目會新增到有問題的依賴項的JAR 檔案中。此條目指定工件的自訂模組名稱,覆蓋自動產生的名稱。例如,您可以修改 Netty Epoll 依賴項的清單檔案以包含:

<Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name>

2。將模組宣告新增至 JAR

工件擁有者也可以使用「module-info.java」檔案將模組宣告新增至其 JAR 。這明確定義了模組名稱,確保與 Java 9 的模組系統相容。

替代命名約定

根據 Java 規範,模組名稱必須是有效的套件名稱。為了適應依賴項的 Internet 網域無法轉換為有效套件名稱的情況,建議採用以下約定:

  • 將連字號或其他特殊字元轉換為底線。
  • 在關鍵字後面加上底線。
  • 以不允許的字元開頭的組件前綴下劃線。

但請注意,由於其作為關鍵字的地位,在 Java 9 中不鼓勵在模組名稱中使用下劃線。

以上是如何解決 Java 9 中自動產生模組名稱的「無法派生模組描述符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn