首页 > 解决方案 > 初始化 JavaFX 运行时的 Oracle DataModeler 问题

问题描述

我正在尝试安装 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 包并使用外星人安装:

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

现在我的问题就在这里。当我通过终端启动数据建模器时,它会说“设置你的 java 路径”,所以我要做的第一件事就是查看我的 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)

使用那个版本,它不能简单地工作,所以我使用 synaptic 安装了 jdk 8 版本,这些是我安装的包。

到目前为止一切顺利,直到我运行程序,就是发生的事情..

这是错误:

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 上安装它' .. 所以我需要一个可以拯救我的人,我这个星期五有工作要做,我需要这个程序。

提前致谢。

标签: javasqllinuxoracleoracle-sql-data-modeler

解决方案


好的,我找到了解决方案!

这真的很简单,我只需要下载这个jdk 版本,然后将其解压缩到所有其他 jdk 版本所在的位置,即:

/usr/lib/jvm/

只需在 .data_modeler/1.0.0.0.0/product.conf 的 conf 文件中添加以下行

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

推荐阅读