存取預設套件中的Java 類別
在像Grails 這樣的協作專案中,開發人員可能會遇到需要存取Groovy中建立的物件的情況來自命名包中的Java 類別的預設包。然而,由於 Java 打包的基本規則,這可能會帶來挑戰。
根據 Java 程式設計原理,預設套件中的類別不能直接從命名包存取。在 Java 2 標準版 (J2SE) 1.4 之前,允許使用匯入語法(例如「import Unfinished;」)來匯入預設套件類別。這種做法不再被允許。
要克服此限制,有兩種選擇。一種方法是透過將預設包類別移動到命名包中來重構它。這涉及到在類別文件的開頭添加一個“package”指令,指定所需的套件名稱。
或者,如果可以存取由 Groovy 產生的原始程式碼,則可以使用後處理來移動將預設套件類別放入其自己的專用套件中,並添加適當的「package」指令。
需要注意的是,Java 虛擬機器 (JVM) 嚴格禁止從未命名(預設)包,如 Java 開發工具包 (JDK) bug 6975015 中所述,特別是對於 JDK7 和 JDK8。
因此,要從命名包存取預設包類,有必要重新定位預設包類放入命名包中。
以上是如何從 Java 的命名包存取 Groovy 的預設包類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!