JAVAFX执行JAR文件Eclipse IDE的问题

时间:2019-05-18 15:34:19

标签: javafx jar execute

我有以下代码在Eclipse中调用Scene。

public class Login extends Application 

{

public static final String ICON_IMAGE_LOC = "/icons/Message.png";
@Override
    public void start(Stage primaryStage) 

    {
        setStage(primaryStage);



        try 

        {

            FXMLLoader loader = new FXMLLoader(this.getClass().getResource("/FXML/Login.fxml"));
            Parent root = loader.load();

            Scene scene = new Scene(root);
            primaryStage.setTitle("Login");
            primaryStage.getIcons().add(new javafx.scene.image.Image(ICON_IMAGE_LOC));
            primaryStage.setScene(scene);
            primaryStage.setResizable(false);

            primaryStage.show();


        } 

        catch (IOException e) 

        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        launch(args);
    }
}

在Eclipse中,它可以正常打开。但是,当我导出JAR文件并执行时,会发生以下错误:

  

C:\ Users \ Gabriel Augusto \ Desktop> java -jar Dialog.jar中的异常   线程“主”中的应用程序启动方法异常   java.lang.reflect.InvocationTargetException           在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处           在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)           在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)           在java.lang.reflect.Method.invoke(未知来源)           在org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)   由以下原因引起:java.lang.RuntimeException:应用程序启动中的异常   方法           在com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)           在com.sun.javafx.application.LauncherImpl.lambda $ launchApplication $ 159(LauncherImpl.java:182)           在java.lang.Thread.run处(未知源)原因:java.lang.IllegalStateException:未设置位置。           在javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2434)           在javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)           在application.Login.start(Login.java:47)           在com.sun.javafx.application.LauncherImpl.lambda $ launchApplication1 $ 166(LauncherImpl.java:863)           在com.sun.javafx.application.PlatformImpl.lambda $ runAndWait $ 179(PlatformImpl.java:326)           在com.sun.javafx.application.PlatformImpl.lambda $ null $ 177(PlatformImpl.java:295)           在java.security.AccessController.doPrivileged(本机方法)           在com.sun.javafx.application.PlatformImpl.lambda $ runLater $ 178(PlatformImpl.java:294)           在com.sun.glass.ui.InvokeLaterDispatcher $ Future.run(InvokeLaterDispatcher.java:95)           在com.sun.glass.ui.win.WinApplication._runLoop(本机方法)           在com.sun.glass.ui.win.WinApplication.lambda $ null $ 152(WinApplication.java:177)           ...还有1个

我项目中的文件安排如下:

enter image description here

为什么会发生此错误? 谢谢。

0 个答案:

没有答案