正在尝试编译和运行简单的JavaFX类。错误:";javac:无效标志:-模块路径=C:\…“;
我们有一个简单的JavaFXHelloWorld类。我已经看到其他人证明此代码是有效的,所以我不认为这是问题所在。我正在运行Java和Javac版本1.8.0291。Java和Javac路径环境变量已经设置和测试正在尝试编译和运行简单的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.
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位实现,可用于多种操作系统。或者试试另一个。