Kompilator nie widzi JavaFX

0

Witam. Proszę o pomoc w rozwiązaniu problemu z JavaFX. Problem polega na tym, że zarówno dla komendy w terminalu, jak i opcji "Run" w IntelliJ Idea, otrzymuję komunikaty typu: Error:(3, 26) java: package javafx.application does not exist. Korzystam z openjdk (openjdk-11-jre 10.0.2+13-1ubuntu0.18.04.3) oraz openjfx (8u161-b12-1ubuntu2).

0

W Javie 11, JavaFX nie jest wbudowana w JDK. Musisz ją sobie ręcznie dociągnąć w zależnościach np. https://mvnrepository.com/artifact/org.openjfx/javafx-controls

0

Nie korzystam z Mavena, więc musiałem skorzystać z innego rozwiązania. Postępowałem wg odpowiedzi z tego wątku. Program się kompiluje, lecz nie uruchamia. Otrzymuję następujący komunikat:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found

Process finished with exit code 1

EDIT: Dodanie / przed usr w ścieżce skutkuje innym błędem:

Exception in Application start method
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflec[...]veMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflec[...]ngMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflec[...]veMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflec[...]ngMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.Launch[...]ain(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NullPointerException: Location is required.
at javafx.fxml/javafx.fxml.FXMLL[...]oadImpl(FXMLLoader.java:3230)
at javafx.fxml/javafx.fxml.FXMLL[...]oadImpl(FXMLLoader.java:3194)
at javafx.fxml/javafx.fxml.FXMLL[...]oadImpl(FXMLLoader.java:3163)
at javafx.fxml/javafx.fxml.FXMLL[...]oadImpl(FXMLLoader.java:3136)
at javafx.fxml/javafx.fxml.FXMLL[...]oadImpl(FXMLLoader.java:3113)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3106)
at mandelbrot.Main.start(Main.java:13)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
... 1 more

EDIT2:
Przerobiłem opcje VM w ten sposób:

--module-path /usr/share/openjfx/lib/ --add-modules=javafx.controls.jar,javafx.fxml.jar,javafx.base.jar,javafx.media.jar,javafx.graphics.jar,javafx.swing.jar,javafx.web.jar

Niestety, poskutkowało to jedynie komunikatem:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls.jar not found

Process finished with exit code 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0