У меня установлены оба openjdk8 и 11. Ни один не поставляется с JavaFX.
Я установил оба пакета openjfx и libopenjfx-java, но не могу заставить мое приложение работать.
sudo apt list --installed| grep jfx
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libopenjfx-java/cosmic,cosmic,now 11+26-4 all [installed]
libopenjfx-jni/cosmic,now 11+26-4 amd64 [installed,automatic]
openjfx-source/cosmic,cosmic,now 11+26-4 all [installed]
openjfx/cosmic,now 11+26-4 amd64 [installed]
Openjfx распаковывает в папку / usr
dpkg-query -L openjfx
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/openjfx
/usr/share/doc/openjfx/TODO.Debian
/usr/share/doc/openjfx/changelog.Debian.gz
/usr/share/doc/openjfx/copyright
/usr/share/openjfx
/usr/share/openjfx/lib
/usr/share/openjfx/lib/javafx.properties
/usr/share/openjfx/lib/javafx.base.jar
/usr/share/openjfx/lib/javafx.controls.jar
/usr/share/openjfx/lib/javafx.fxml.jar
/usr/share/openjfx/lib/javafx.graphics.jar
/usr/share/openjfx/lib/javafx.media.jar
/usr/share/openjfx/lib/javafx.swing.jar
/usr/share/openjfx/lib/javafx.web.jar
Должен ли я несколько скопировать библиотеки в папку java lib? В противном случае он не компилирует блаберинг не существующих javafx.*
пакетов
Ранее работающая банка теперь выходит с:
Error: Could not find or load main class helloworld.HelloWorld
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
EDIT
Я мог бы быть на шаг ближе благодаря @ Хосе Переда
java --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml
теперь бросает
Caused by: java.lang.IllegalAccessError: class impl.org.controlsfx.version.VersionChecker (in unnamed module @0x28658d1c) cannot access class com.sun.javafx.runtime.VersionInfo (in module javafx.base) because module javafx.base does not export com.sun.javafx.runtime to unnamed module @0x28658d1c
at impl.org.controlsfx.version.VersionChecker.<clinit>(VersionChecker.java:50)
at org.controlsfx.control.ControlsFXControl.<init>(ControlsFXControl.java:35)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:113)
at org.controlsfx.control.CheckComboBox.<init>(CheckComboBox.java:104)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.constructValue(FXMLLoader.java:1019)
at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:754)
at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466)
at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435)