首頁  >  文章  >  Java  >  使用 JARS 打包 JavaFX 應用程式時如何修復「位置未設定」錯誤?

使用 JARS 打包 JavaFX 應用程式時如何修復「位置未設定」錯誤?

DDD
DDD原創
2024-11-03 07:11:30874瀏覽

How to Fix the

JAVAFX:使用JAR 打包時處理「位置未設定」錯誤

您的程式碼在Eclipse 中運行順利,但是當打包為JAR 並透過cmd 執行,遇到「位置未設定」錯誤。出現此問題的原因是 getClass().getResource(...) 方法需要資源,而不是直接檔案路徑。

在 Java 中,資源是使用由斜線分隔的有效 Java 識別碼的層次結構來定義的(/ ) 和資源名稱 (shortname.extension)。從檔案系統載入類別時,這相當於檔案路徑。但是,在使用其他類別載入機制時,遵守這些規範至關重要。

解決錯誤

要修正該問題,請將目前程式碼替換為以下程式碼:

FXMLLoader loader = new FXMLLoader(getClass().getResource("/sm/customer/CustomerHome.fxml"));

替代方法:控制器Location

由於您的FXML 和控制器檔案位於同一個套件中,因此您可以利用控制器位置來載入FXML:

FXMLLoader loader = new FXMLLoader(CustomerHomeCtrl.class.getResource("CustomerHome.fxml"));

此方法更加健壯並簡化了未來的重構,因為編譯器會自動驗證套件名稱。此外,對套件結構的任何更改都可以由 Eclipse 無縫處理。

以上是使用 JARS 打包 JavaFX 應用程式時如何修復「位置未設定」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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