Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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类。错误:";javac:无效标志:-模块路径=C:\…“;_Java_Batch File_Javafx_Command Prompt_Javac - Fatal编程技术网

正在尝试编译和运行简单的JavaFX类。错误:";javac:无效标志:-模块路径=C:\…“;

正在尝试编译和运行简单的JavaFX类。错误:";javac:无效标志:-模块路径=C:\…“;,java,batch-file,javafx,command-prompt,javac,Java,Batch File,Javafx,Command Prompt,Javac,我们有一个简单的JavaFXHelloWorld类。我已经看到其他人证明此代码是有效的,所以我不认为这是问题所在。我正在运行Java和Javac版本1.8.0291。Java和Javac路径环境变量已经设置和测试 import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.application.Platform; import javafx.

我们有一个简单的JavaFXHelloWorld类。我已经看到其他人证明此代码是有效的,所以我不认为这是问题所在。我正在运行Java和Javac版本1.8.0291。Java和Javac路径环境变量已经设置和测试

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.application.Platform;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.control.Button;
import javafx.scene.text.Font;

public class HelloWorldFX extends Application {

    public void start(Stage stage) {

        Label message = new Label("First FX Application!");
        message.setFont( new Font(40) );

        Button helloButton = new Button("Say Hello");
        helloButton.setOnAction( e -> message.setText("Hello World!") );
        Button goodbyeButton = new Button("Say Goodbye");
        goodbyeButton.setOnAction( e -> message.setText("Goodbye!!") );
        Button quitButton = new Button("Quit");
        quitButton.setOnAction( e -> Platform.exit() );

        HBox buttonBar = new HBox( 20, helloButton, goodbyeButton, quitButton );
        buttonBar.setAlignment(Pos.CENTER);
        BorderPane root = new BorderPane();
        root.setCenter(message);
        root.setBottom(buttonBar);

        Scene scene = new Scene(root, 450, 200);
        stage.setScene(scene);
        stage.setTitle("JavaFX Test");
        stage.show();

    } // end start();

    public static void main(String[] args) {
        launch(args);  // Run this Application.
    }

} // end class HelloWorldFX
我使用一个简单的
.bat
文件来运行编译和运行命令。我还看到其他人运行这些批处理命令,因此我相信它们也编写正确。模块路径是文件资源管理器给出的
JavaFX
\lib jars路径的直接副本,因此我相信该路径也是正确的。我的HelloWorld文件与正在运行的
.bat
文件位于同一目录中

javac --module-path="C:\Users\14252\Documents\Programming\javafx\openjfx-11.0.2_windows-x64_bin-sdk\javafx-sdk-11.0.2\lib" --add-modules=ALL-MODULE-PATH HelloWorldFX.java
pause
java --module-path="C:\Users\14252\Documents\Programming\javafx\openjfx-11.0.2_windows-x64_bin-sdk\javafx-sdk-11.0.2\lib" --add-modules=ALL-MODULE-PATH HelloWorldFX 
pause
然而,结果如下:

JavaFX
库和
HelloWorldFX.java
文件上运行
javac
java
CompileAndRun.bat
文件的控制台


这个错误是从哪里来的?如何更正?

java 8是预模块。让我尝试填写您问题中缺少的信息。您使用的OpenJDK不包含JavaFX,您从中下载了JavaFX11,因为它们没有JavaFX8的下载链接。剧透:他们不在一起。一种选择是使用(来自Azul系统)。他们的JDK8包括JavaFX。它们有32位和64位实现,可用于多种操作系统。或者试试另一个。