java.lang.reflect.InvocationTargetException javafx 错误,即使没有代码

java.lang.reflect.InvocationTargetException error javafx even though there is no code

我是 javafx 的新手,所以我决定做一个项目, 但是当我 运行 程序时(实际上启动方法中没有代码) 它不起作用它说 java.lang.reflect.InvocationTargetException 错误和一个错误

这是代码


package com.front.fire;

import javafx.application.Application;
import javafx.stage.Stage;

class FrontFireMain extends Application{

    @Override
    public void start(Stage arg0) throws Exception {
        
    }

}

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)        
Caused by: java.lang.RuntimeException: Unable to construct Application instance: class com.front.fire.FrontFireMain
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:890)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication(LauncherImpl.java:195)
        at java.base/java.lang.Thread.run(Thread.java:831)
Caused by: java.lang.NoSuchMethodException: com.front.fire.FrontFireMain.<init>()
        at java.base/java.lang.Class.getConstructor0(Class.java:3517)
        at java.base/java.lang.Class.getConstructor(Class.java:2238)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1(LauncherImpl.java:801)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait(PlatformImpl.java:474)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:447)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)     
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater(PlatformImpl.java:446)
        at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop(WinApplication.java:174)
        ... 1 more

您的主要 class 扩展 javafx.application.Application 需要 public。如下更改您的 class。

package com.front.fire;

import javafx.application.Application;
import javafx.stage.Stage;

public class FrontFireMain extends Application{

    @Override
    public void start(Stage arg0) throws Exception {
        
    }

}