java - 初始化 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 上安装它' .. 所以我需要一个可以拯救我的人,我这个星期五有工作要做,我需要这个程序。
提前致谢。
解决方案
好的,我找到了解决方案!
这真的很简单,我只需要下载这个jdk 版本,然后将其解压缩到所有其他 jdk 版本所在的位置,即:
/usr/lib/jvm/
只需在 .data_modeler/1.0.0.0.0/product.conf 的 conf 文件中添加以下行
SetJavaHome /usr/lib/jvm/jdk1.8.0_201
推荐阅读
- kubernetes - 如何在openshift环境中查看以前的wildfly server.log
- java - Cucumber 4.7.2 将表转换为行到对象
- java - 如何使用 Spring Boot 2 在 Spring Data JPA 中处理自引用?
- c# - ASP Classic:修改 cookie 字符串后 cookie 键不可读
- javascript - 尝试将版本添加到 javascript 导入时出现 SyntaxError
- ios - Xamarin.Forms 中的 Newtonsoft.Json 动态异常 - 仅在 IOS/Device/Release 中
- r - ggplot:将网格线与 geom_tile 的末端对齐
- elasticsearch - 使用 Elasticsearch 和 .NET 进行脚本更新期间的冲突
- linux - Linux 哈希值
- swift - 在 Swift 中映射对象数组的问题