首頁 >Java >java教程 >如何解決從 JAR 執行時間 JavaFX 中的「位置未設定」錯誤?

如何解決從 JAR 執行時間 JavaFX 中的「位置未設定」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-02 20:57:02390瀏覽

How to Resolve the

JavaFX 位置未設定錯誤解決

建立JAR 檔案後嘗試透過命令列執行JavaFX 專案時,您可能會遇到「位置未設定”錯誤。在資源載入和本地化上下文中正確使用 getClass().getResource() 時會出現此問題。

方法 getClass().getResource() 旨在載入資源,而不是指定檔案路徑。雖然這在 IDE 中似乎可行,因為類別載入器從檔案系統解析它,但在使用 JAR 類別載入器時可能會失敗,因為 JAR 類別載入器不以相同的方式實作資源解析。

解決方案1:使用絕對資源路徑

要解決此問題,請使用/ 分隔符號指定FXML 檔案的絕對資源路徑:

<code class="java">FXMLLoader loader = new FXMLLoader(getClass().getResource("/sm/customer/CustomerHome.fxml"));</code>

解決方案2:使用控制器位置

或者,您可以利用程式碼組織並載入與其控制器相關的FXML 檔案:

<code class="java">FXMLLoader loader = new FXMLLoader(CustomerHomeCtrl.class.getResource("CustomerHome.fxml"));</code>

此方法與控制器和FXML 的結構化打包保持一致檔案並透過在移動FXML 和控制器時自動更新導入語句來簡化重構。

以上是如何解決從 JAR 執行時間 JavaFX 中的「位置未設定」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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