[英]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.