[英]Missing JavaFX application class
我有這樣的Java代碼:
package mypackage;
import javafx.application.Application;
import javafx.stage.Stage;
public class MyApp extends Application{
public static void main(String args[]){
launch(args);
}
public void start(Stage primaryStage){
primaryStage.show();
}
}
我在~/myjava/src/mypackage/MyApp.class
編譯了它。 然后,當我從
~$ java -cp myjava/src mypackage/MyApp
為什么會出現如下錯誤:
Missing JavaFX application class mypackage/MyApp
我正在使用 JDK 8。
那是因為您正在使用目錄路徑而不是完全限定的類名調用您的應用程序。 完全限定的類名由包名和類名組成。 在您的情況下,這是mypackage.MyApp
。
假設您編譯的類與源.java
文件位於同一文件夾中,請這樣調用:
java -cp myjava/src mypackage.MyApp
在安裝 Java 15 和 JavaFX 13 以及其他一些更改后,我也收到了“缺少 JavaFX 應用程序類 mypackage/MyApp”的消息,在我的情況下,包名稱和應用程序是正確的。 我正在使用一些 JDK15 預覽功能,我需要 JVM 選項 --enable-preview。 無奈之下,我開始改變事情,因為這曾經奏效。 當我刪除 --enable-preview 選項時,我收到了與我使用預覽功能相關的錯誤消息,但沒有指定它。 這告訴我加載程序實際上正在查找我的應用程序。 在這種情況下,錯誤消息“缺少 JavaFX 應用程序類 mypackage/MyApp”不正確。 問題是我需要包含一些 MyApp 所依賴的用戶實用程序類。 一旦我在類路徑中包含了依賴類,一切都很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.