首页 > 解决方案 > 运行 Jar 文件时出错。IllegalStateException:未设置位置

问题描述

我正在用 maven 开发 Javafx 应用程序。我可以从 Intellij idea 运行我的应用程序,没有任何异常和错误。但是当我运行 Jar 文件时出现错误。如何解决这个问题?

我认为,以下异常出现在该行:

FXMLLoader loader = new FXMLLoader(this.getClass().getResource("../screen/AdminScreen.fxml"));

请帮帮我?

这是我的例外:

Exception in thread "JavaFX Application Thread"
java.lang.IllegalStateException: Location is not set. 
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2459) 
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435) 
    at login.LoginController.signInAction(LoginController.java:101) 
    at login.LoginController.lambda$addListeners$2(LoginController.java:65)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) 
    at javafx.event.Event.fireEvent(Event.java:198) 
    at javafx.scene.Node.fireEvent(Node.java:8890)

标签: javajavafxjar

解决方案


由于..它不是一个有效的 Java 标识符,因此不能保证这可以解决。尝试以下操作:

FXMLLoader loader = new FXMLLoader(getClass().getResource("/screen/AdminScreen.fxml"))

或者,以下链接解释了 java 资源的使用:https ://docs.oracle.com/javase/8/docs/technotes/guides/lang/resources.html


推荐阅读