when i try to run my java file with javafx from command prompt im returned with a error, the error says the problem of the code is coming from a java launch command which i dont know how to fix. Please give a fix. the error:
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: Main1
at javafx.graphics@19/javafx.application.Application.launch(Application.java:314)
at Main1.main(Main1.java:47)
Caused by: java.lang.ClassNotFoundException: Main1
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:488)
at java.base/java.lang.Class.forName(Class.java:467)
at javafx.graphics@19/javafx.application.Application.launch(Application.java:302)
at Main1.main(Main1.java:47)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:577)
at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:421)
at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:192)
at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:132)
code:
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.web.*;
import javafx.scene.image.*;
public class Main1 extends Application {
public void start(Stage stage)
{
try {
stage.setTitle("Fierce Pcs");
WebView w = new WebView();
WebEngine e = w.getEngine();
e.load("https://www.example.com/");
stage.getIcons().add(new Image(getClass().getResourceAsStream("icon.png")));
Scene scene = new Scene(w, w.getPrefWidth(),
w.getPrefHeight());
stage.setScene(scene);
stage.show();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void main(String args[])
{
launch(args);
}
}
the command which i give the command prompt:
java --module-path %PATH_TO_FX% --add-modules javafx.fxml,javafx.web C:\Users\example\OneDrive\Desktop\Main1.java
CodePudding user response:
Try this:
launch(Main1.class, args);
Or stay with launch(args)
and compile your Main1.java to Main1.class and run (i suppose this is the default (none) package):
javac --module-path %PATH_TO_FX% --add-modules javafx.fxml,javafx.web Main1.java
java --module-path %PATH_TO_FX% --add-modules javafx.fxml,javafx.web Main1