答案 0 :(得分:4)
Mac OS(Catalina)和SQL Developer 19.4的解决方案摘要:
ls /Library/Java/JavaVirtualMachines/
/usr/libexec/java_home -F -v 11
/Library/Java/JavaVirtualMachines/jdk11.0.6.jdk/Contents/Home
~/.sqldeveloper/19.4.0/product.conf
:
SetJavaHome /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home
这对我有用。
答案 1 :(得分:3)
消息很清楚,您的Java Home需要JavaFX引擎/功能/ jar才能使该页面正常工作。
我们有几个使用Java FX呈现可视化效果的页面-“欢迎页面”,“实例查看器”和“实时SQL监视”是最重要的页面。
确保已运行Oracle Java 8 JDK。我猜您正在运行Open JDK-从技术上讲我们不支持,但它可能会起作用。
或者去获取jar,然后将其添加到Java Home中。
答案 2 :(得分:3)
如果您使用的是OpenJDK,则无需切换到Oracle JDK(或如上所建议,将Oracle的Java FX jar插入到您的OpenJDK安装中); Java FX 现在已成为OpenJDK的一部分,但需要单独安装:
sudo apt-get install openjfx
答案 3 :(得分:2)
正如其他人已经说过的那样,问题在于OpenJDK 8(Oracle SQL Developer所需的版本)不包含JavaFX。
有许多可能的解决方案。这里有一些:
安装JavaFX随附的OpenJDK 8发行版,例如:
在Ubuntu上,您可以保留现有的OpenJDK并仅安装JavaFX库:
安装JavaFX库的版本8
sudo apt install libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx=8u161-b12-1ubuntu2
将JavaFX软件包置于保留状态(否则它们将升级到v11)
sudo apt-mark hold libopenjfx-java libopenjfx-jni openjfx
安装Oracle Java 8
由于Oracle no longer provides free updates to Java 8,我特意将此放在最后,所以如果您安装Oracle Java 8,您将不会获得最新的安全补丁。
答案 4 :(得分:1)
仅供参考,似乎安装了18.4 XE的JDK不包含JavaFX。
[oracle@localhost ~]$ which java
/opt/oracle/product/18c/dbhomeXE/jdk/bin/java
[oracle@localhost ~]$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
答案 5 :(得分:1)
对于那些最近将Java 11升级为默认jre并获得无法使用它的应用程序的人(仍然需要Java 8) 我只是发现您仍然可以降级openjfx(在我的情况下适用于SQL Developper)
sudo apt install libopenjfx-java=8u161-b12-1ubuntu2
sudo apt install libopenjfx-jni=8u161-b12-1ubuntu2
sudo apt install openjfx=8u161-b12-1ubuntu2
然后。检查您是否拥有OpenJFX 8:
$ dpkg -l | grep openjfx
ii libopenjfx-java 8u161-b12-1ubuntu2 all JavaFX/OpenJFX 8 - Rich client application platform for Java (Java libraries)
ii libopenjfx-jni 8u161-b12-1ubuntu2 amd64 JavaFX/OpenJFX 8 - Rich client application platform for Java (native libraries)
ii openjfx 8u161-b12-1ubuntu2 amd64 JavaFX/OpenJFX 8 - Rich client application platform for Java
希望对您有帮助!
答案 6 :(得分:0)
好吧,我不得不手动安装Oracle的Java 8 SDK。而且SQLDeveloper的执行没有错误
由于我已安装Ubuntu,因此我去了Oracle SQL Developer download page并下载了其他平台。注意,它下面的安装说明旁边有一个link to the lastest Oracle 8 JDK(211)。
您可以遵循here,但这是完整安装的Oracle Java 8 JDK,我只希望SQL Developer指向它。在sudo update-alternatives --config java
中,我仍然安装了openjdk,没有问题。
因此在/ usr / lib / jvm中:
sudo tar -xvzf ~/Downloads/jdk-8u211-linux-x64.tar.gz
通知Ubuntu安装位置:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_211/bin/java" 0
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_211/bin/javac" 0
使用sudo update-alternatives --config java
在执行sqldeveloper.sh的本地文件夹或用户目录中:
nano/vi/vim/emacs /home/user/.sqldeveloper/19.1.0/product.conf
将行SetJavaHome /usr/lib/jvm/someOpenJDKInstallation
更新为SetJavaHome /usr/lib/jvm/jdk1.8.0_211/
或者,如果是第一次运行,请在询问JDK时回答此目录/usr/lib/jvm/jdk1.8.0_211/。
答案 7 :(得分:0)
我知道这是一个 Linux 线程,但我在 Windows 上遇到了同样的问题。
bmaupin 指出了正确的更正。
我的设置是使用 OpenJDK 并将其设置为 JAVA_PATH。但是,如果您下载正确版本的 Oracle SQL Developer,它会带来自己的 Java SDK。所有需要做的就是指向它。
_
# SetJavaHome C:\Program Files\OpenJDK8
SetJavaHome C:\Program Files\sqldeveloper\jdk
完成。