Проблема Oracle DataModeler при инициализации среды выполнения JavaFX

#java #sql #linux #oracle #oracle-sql-data-modeler

#java #sql #linux #Oracle #oracle-sql-data-modeler

Вопрос:

Я пытаюсь установить Oracle DataModeler, и у меня возникает несколько проблем, поэтому я собираюсь изложить каждый сделанный мной шаг, чтобы проблему было легче понять.

Во-первых, моя ОС:

 PRETTY_NAME="Parrot GNU/Linux 4.5"
NAME="Parrot GNU/Linux"
ID=parrot
ID_LIKE=debian
VERSION="4.5"
VERSION_ID="4.5"
HOME_URL="https://www.parrotsec.org/"
SUPPORT_URL="https://community.parrotsec.org/"
BUG_REPORT_URL="https://dev.parrotsec.org/"
  

Теперь установка:

Я скачал пакет rpm и установил с помощью alien:

 sudo alien --scripts  datamodeler-18.4.0.339.1532-1.noarch.rpm
  

А затем я установил пакет *.deb с:

 sudo dpkg -i datamodeler-18.4.0.339.1532-1.noarch.deb
  

Теперь моя проблема здесь. Когда я запускаю datamodeler через терминал, он говорит что-то вроде ‘установите свой java path‘, поэтому первое, что я делаю, это просматриваю свою версию jdk, и та, которую я установил, является:

 openjdk version "11.0.3" 2019-04-16 OpenJDK Runtime Environment (build
11.0.3 1-Debian-1) OpenJDK 64-Bit Server VM (build 11.0.3 1-Debian-1, mixed mode, sharing)
  

И с этой версией это просто не работает, поэтому я установил версию jdk 8 с помощью synaptic, и эти пакеты, которые я установил.

Пока все идет хорошо, пока я не запускаю программу, и вот что происходит..

Вот ошибка:

 Problem initializing the JavaFX runtime. This feature requires JavaFX.

java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
    at oracle.dbtools.raptor.javafx.ui.JFXPanelFactory.createJFXPanelImpl(JFXPanelFactory.java:58)
    at oracle.dbtools.raptor.javafx.ui.JFXPanelFactory.createJFXPanel(JFXPanelFactory.java:34)
    at oracle.dbtools.raptor.startpage.StartPageViewer.createGUIComponent(StartPageViewer.java:179)
    at oracle.dbtools.raptor.startpage.StartPageViewer.getEditorContent(StartPageViewer.java:136)
    at oracle.ide.editor.AsynchronousEditor$2.run(AsynchronousEditor.java:345)
    at oracle.ide.editor.AsynchronousEditor$5.run(AsynchronousEditor.java:555)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel cannot be found by oracle.sqldeveloper_18.4.0
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at org.netbeans.modules.netbinox.NetbinoxLoader.loadClass(NetbinoxLoader.java:81)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 10 more
  

И последнее, что я пытался, это установить это:

 sudo apt-get install libjavafxsvg-java 
  

Но никаких изменений, и я не знаю, что делать дальше. Мои учителя не хотят мне помогать, потому что они говорят, что «они не знают, как установить это в Linux»..
Поэтому, пожалуйста, мне нужен кто-то, кто может спасти мой день. В эту пятницу мне нужно поработать, и мне нужна эта программа.

Заранее спасибо.

Ответ №1:

Хорошо, я нашел решение!

Это было действительно просто, мне нужно было только загрузить эту версию jdk, а затем разархивировать ее там, где находятся все остальные версии jdk, которые:

/usr/lib/jvm/

И просто добавьте следующую строку в файл conf в .data_modeler/1.0.0.0.0/product.conf

 SetJavaHome /usr/lib/jvm/jdk1.8.0_201