Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用javafx在intellij外部运行jar_Java_Intellij Idea_Javafx - Fatal编程技术网

无法使用javafx在intellij外部运行jar

无法使用javafx在intellij外部运行jar,java,intellij-idea,javafx,Java,Intellij Idea,Javafx,我正在IntelliJ中成功地运行JavaFX项目,但是当我试图构建工件并在外部运行jar时,它不会打开,或者它正在打开和关闭 我试图将.fxml文件移动到java目录并更改加载,但出现了一个错误 我的项目结构如下: 我的主要课程是: public class Main extends Application { @Override public void start(final Stage primaryStage) throws Exception{ Pa

我正在
IntelliJ
中成功地运行
JavaFX
项目,但是当我试图构建工件并在外部运行jar时,它不会打开,或者它正在打开和关闭

我试图将
.fxml
文件移动到java目录并更改加载,但出现了一个错误

我的项目结构如下:

我的主要课程是:

public class Main extends Application {

    @Override
    public void start(final Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("/sample.fxml"));
        primaryStage.setTitle("xxxxxxxxxxxxx");
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}
我选择了我使用的所有
jar
库,并将它们添加到工件中。我猜它不会在
IntelliJ
之外加载
.fxml
文件

如果需要,我的sample.fxml在这里:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<Pane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="650.0" prefWidth="550.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
    <children>
        <TextField fx:id="username" alignment="CENTER" layoutX="151.0" layoutY="246.0" prefHeight="25.0" prefWidth="229.0" />
        <PasswordField fx:id="password" layoutX="152.0" layoutY="345.0" prefHeight="25.0" prefWidth="229.0" />
        <CheckBox fx:id="rememberMe" layoutX="207.0" layoutY="418.0" mnemonicParsing="false" text="Remember me ?">
            <font>
                <Font size="13.0" />
            </font>
        </CheckBox>
        <Button fx:id="login" layoutX="199.0" layoutY="542.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="153.0" text="OK" textAlignment="CENTER">
            <font>
                <Font size="14.0" />
            </font></Button>
        <Hyperlink layoutX="203.0" layoutY="446.0" text="I forgot my password !" />
        <Label layoutX="239.0" layoutY="219.0" text="Username:">
            <effect>
                <Lighting>
                    <bumpInput>
                        <Shadow />
                    </bumpInput>
                </Lighting>
            </effect>
        </Label>
        <Label alignment="CENTER" layoutX="240.0" layoutY="317.0" text="Password:" textAlignment="CENTER">
            <effect>
                <Lighting>
                    <bumpInput>
                        <Shadow />
                    </bumpInput>
                </Lighting>
            </effect>
        </Label>
    </children>
</Pane>

尝试使用
java-jar
从终端运行jar,并检查是否有错误。我不知道这个命令,这是我在windows上使用javafx的第一个java应用程序。我是安卓开发者。我正在编辑带问题的问题。谢谢。我的猜测是对的:
Parent root=fxmloader.load(getClass().getResource(“/sample.fxml”)这一行是问题所在,异常表示找不到fxml文件。你能解压jar并检查其中是否有fxml文件吗?不,没有,我如何添加它?尝试使用
java-jar
从终端运行jar并检查是否有错误。我不知道这个命令,这是我在windows上使用javafx的第一个java应用程序。我是安卓开发者。我正在编辑带问题的问题。谢谢。我的猜测是对的:
Parent root=fxmloader.load(getClass().getResource(“/sample.fxml”)这一行是问题所在,异常表示找不到fxml文件。你能解压jar并检查其中是否有fxml文件吗?不,没有,我如何添加它?
Exception in Application start method
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unk
nown Source)
        at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Sou
rce)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Exception in Application start method
        at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown So
urce)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(
Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Location is required.
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
        at javafx.fxml.FXMLLoader.load(Unknown Source)
        at Main.start(Main.java:25)
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162
(Unknown Source)
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown
 Source)
        at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Sourc
e)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown S
ource)
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source)
        ... 1 more
Exception running application Main