日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

發布時間:2024/4/13 java 86 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解決JavaFX報錯缺少 JavaFX 運行時組件, 需要使用該組件來運行此應用程序

  • 方法 1:使用 Java 8
  • 方法 2:使用 Java 模塊系統
  • 方法 3:使用引導類

??很多 JavaFX 初學者在下載并運行老的 JavaFX 項目時,經常遇到下面這個錯誤。

錯誤: 缺少 JavaFX 運行時組件, 需要使用該組件來運行此應用程序

??為什么發生這種錯誤呢?這需要談及 JavaFX 的歷史。在 Java 8 之后,JavaFX 從 JDK 中分離出來,然后在 Java 9 時,Java 引入了 Java 模塊系統。從那之后,JavaFX 要求使用 Java 模塊系統來運行 JavaFX。因此,Java 8 的時候,是沒有 Java 模塊系統的,而且此時 JavaFX 尚未從 JDK 中分離出來(沒有分離出來意味著運行 JavaFX 項目不需要添加 JavaFX 依賴),所以很多老的 JavaFX 項目使用的是 Java 8。因此,當直接使用 Java 8 以上的環境運行沒有使用 Java 模塊 JavaFX 老項目時就會出現如上報錯。

??知道原因解決起來就很簡單了。方法有很多,這里列舉如下。

方法 1:使用 Java 8

??直接使用 Java 8 運行 JavaFX 項目,而且這樣做了之后還無需添加 JavaFX 依賴。個人是很不建議使用這種方法的,但是很多遇到此問題的讀者只是一個剛使用 JavaFX 的新人,他們拿著從網上免費下載的代碼卻不知道如何運行,他們只是想先試著看看運行效果,而且他們還不清楚如何引入 JavaFX 依賴,更不擅長使用 Maven 或 Gradle。那么,可以使用這種方法。從短期來看,可以省一些事情。

方法 2:使用 Java 模塊系統

??使用 Java 模塊系統,建議使用這種方法。這里不詳細介紹什么 Java 模塊系統以及它的語法,因為這不是本文的重點。構建 Java 模塊系統只需要在頂級目錄中添加一個模塊聲明文件 module-info.java。如果讀者不知道應該在模塊聲明文件中編寫什么,可以使用 IntelliJ IDEA 來新建一個 JavaFX 項目,然后生成的示例項目中就會有一個簡單的 module-info.java 示例。

module com.example.demo {requires javafx.controls;requires javafx.fxml;opens com.example.demo to javafx.fxml;exports com.example.demo; }

方法 3:使用引導類

??使用一種引導類來代理啟動 JavaFX 應用。舉個例子,現在筆者將 方法 2 中使用 IntelliJ IDEA 新建的 JavaFX 示例項目中的 module-info.java 刪除。此時運行此項目應該會報前述的錯誤。現在,只需要編寫一個引導類調用 JavaFX 入口 main 方法即可消除這個錯誤。

package com.example.demo;public class JavaFXBootstrap {public static void main(String[] args) {HelloApplication.main(args);} }

??因為此處沒有使用模塊系統,所以 Java 運行時會為其自動生成一個匿名的模塊系統。可以看到編譯器提出了如下警告。

X月 XX, 202X XX:XX:XX XX com.sun.javafx.application.PlatformImpl startup 警告: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @1b3d156e'

總結

以上是生活随笔為你收集整理的解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。