Java Extension IDE Not recognizing Javafx imports. VSCODE App Compiles and Runs
This test app compiles and runs, but after 2 days of trying I cannot get rid of the wavy red lines to all references to javafx. The class file does not show any error. Also, Intellisense works and javafx is recognised until you hit enter and then the wavy line appears (see screen shot below).
I have included first line of "Problems" along with launch, tasks and settings json files.
For example: [{ "resource": "/c:/Development-C/VSCode/Workspaces/Java/SimpleWindow/src/Main.java", "owner": "generated_diagnostic_collection_namehttps://github.com/microsoft/vscode/issues/1", "code": "errors(1): 1:8-1:14", "severity": 8, "message": "package javafx.application does not exist", "startLineNumber": 1, "startColumn": 8, "endLineNumber": 1, "endColumn": 14 },
Source Code: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.stage.Stage; import javafx.scene.layout.StackPane;
public class Main extends Application { @OverRide public void start(Stage primaryStage) { primaryStage.setTitle("Hello World");
Button btn = new Button("Close");
btn.setOnAction(e -> primaryStage.close());
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Settings.json:
{
"java.home": "C:/Java/64bit/Oracle_JDK-23",
"java.debug.settings.hotCodeReplace": "manual",
"java.configuration.runtimes": [
{
"name": "JavaSE-23",
"path": "C:/Java/64bit/Oracle_JDK-23"
}
],
"java.project.referencedLibraries": [
"c:\Java\64bit\javafx-sdk-23.0.1\lib\javafx.base.jar",
"c:\Java\64bit\javafx-sdk-23.0.1\lib\javafx.controls.jar",
"c:\Java\64bit\javafx-sdk-23.0.1\lib\javafx.fxml.jar",
"c:\Java\64bit\javafx-sdk-23.0.1\lib\javafx.graphics.jar"
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch JavaFX",
"request": "launch",
"mainClass": "Main",
"vmArgs": "--module-path C:/Java/64bit/javafx-sdk-23.0.1/lib --add-modules javafx.controls,javafx.fxml"
}
],
"args": [
"--module-path", "C:/Java/64bit/javafx-sdk-23.0.1/lib",
"--add-modules", "javafx.controls,javafx.fxml"
]
}
and
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "javac",
"args": [
"--module-path",
"C:/Java/64bit/javafx-sdk-23.0.1/lib",
"--add-modules",
"javafx.controls,javafx.fxml",
"-d",
"bin",
"src/Main.java"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Screen Shot:
I like how i have the same problem also, i have looked everywhere for solution and there is jack shit online. Great tools everyone
exactly same issue, the new project use javafx 13, and it looks good
problem is I need run it on mac m1, so I have to upgrade javafx version in pom.xml
the progam can be compiled and run, but vscode cannot identify javafx
back then i just switched to eclipse ide since it was an one time project lel
Yeah, I just found this issue after wasting 2 hours troubleshooting. How come this still hasn’t even been looked into? Does nobody use JavaFX in VS Code professionally?
edit: The solution is just to use Gradle or Maven and the import errors are gone :)