JAVAFX Jar 檔案中未設定位置錯誤
為JAVAFX 應用程式建立jar 檔案時,可能會出現錯誤,提示「位置為沒有設定。
問題分析:
提供的程式碼使用了 getClass()。 getResource("../customer/CustomerHome.fxml") 載入 FXML 資源。但是,根據 Java 規範,資源必須遵循特定格式,並使用斜線分隔有效的 Java 識別碼。路徑中存在“..”違反了此規則。
解決方案 1:使用絕對資源路徑:
要解決此問題,請使用絕對路徑來解決jar 中的資源。例如:
<code class="java">FXMLLoader loader = new FXMLLoader(getClass().getResource("/sm/customer/CustomerHome.fxml"));</code>
解決方案2:使用控制器位置載入FXML:
如果FXML 檔案與其控制器類別組織在相同的套件中,您可以利用類別引用來載入FXML 資源:
<code class="java">FXMLLoader loader = new FXMLLoader(CustomerHomeCtrl.class.getResource("CustomerHome.fxml"));</code>
這種方法簡化了重構和套件結構維護。
結論:
透過了解Java 規則為了資源識別並使用正確的路徑格式,開發人員可以在為JAVAFX 應用程式建立jar 檔案時避免「位置未設定”錯誤。
以上是為什麼我的 JAVAFX Jar 檔案會拋出“位置未設定”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!