缺少JavaFX应用程序类

mnr*_*dra 4 java javafx javafx-2 javafx-8

我有这样的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();
    }
}
Run Code Online (Sandbox Code Playgroud)

我编译了它~/myjava/src/mypackage/MyApp.class.然后,当我跑步的时候

~$ java -cp myjava/src mypackage/MyApp
Run Code Online (Sandbox Code Playgroud)

为什么得到错误:

Missing JavaFX application class mypackage/MyApp
Run Code Online (Sandbox Code Playgroud)

我正在使用JDK 8.

你能帮助我吗?

hot*_*zst 7

这是因为您使用目录路径而不是完全限定的类名调用应用程序.完全限定的类名由包名和类名组成.在你的情况下,这是mypackage.MyApp.

假设您编译的类与源.java文件位于同一文件夹中,请按以下方式调用:

java -cp myjava/src mypackage.MyApp
Run Code Online (Sandbox Code Playgroud)