问题
I installed the Oracle Sql developer but I am not getting the startup page. A JavaFx error is encountered.
How can I solve this problem?
回答1:
The message is quite clear, your Java Home needs the JavaFX engine/feature/jars for this page to work.
We have several pages that use Java FX to render visualizations - the Welcome Page, Instance Viewer, and Real Time SQL Monitoring are the big ones.
Make sure you have running Oracle Java 8 JDK. I'm guessing you're running Open JDK - which we technically don't support, but it probably will work.
Note: as an Oracle product requiring Java, you are allowed to use the Oracle JDK (v8 today or v11 when we introduce support later this Summer) at no additional cost.
Or go get the jar(s) and add them to your Java Home.
回答2:
If you're using OpenJDK there's no need to switch to Oracle JDK (or shoe-horn Oracle's Java FX jars into your OpenJDK installation as has been suggested above); Java FX is now part of OpenJDK but needs to be installed separately:
sudo apt-get install openjfx
回答3:
As others have already said, the problem is that OpenJDK 8 (the version required by Oracle SQL Developer) doesn't include JavaFX.
There are many possible solutions. Here are a few:
Install an OpenJDK 8 distribution that comes with JavaFX, such as:
Amazon Coretto
To install using sdkman:
sdk install java 8.0.212-amzn
Azul ZuluFX
To install using sdkman:
sdk install java 8.0.202-zulufx
On Ubuntu, you can keep your existing OpenJDK and just install the JavaFX libraries:
Install version 8 of the JavaFX libraries
sudo apt install libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx=8u161-b12-1ubuntu2
Put the JavaFX packages on hold (otherwise they will get upgraded to v11)
sudo apt-mark hold libopenjfx-java libopenjfx-jni openjfx
Install Oracle Java 8
I intentionally put this last because Oracle no longer provides free updates to Java 8, so you won't get the latest security patches if you install Oracle Java 8.
回答4:
Just FYI, seems the JDK installed with 18.4 XE does not include 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)
enter image description here
回答5:
For those that get recent upgrade to java 11 as default jre and get an application that don't work with it (still need java 8) I just find that you still can downgrade openjfx (that's works for SQL Developper in my case)
sudo apt install libopenjfx-java=8u161-b12-1ubuntu2
sudo apt install libopenjfx-jni=8u161-b12-1ubuntu2
sudo apt install openjfx=8u161-b12-1ubuntu2
Then. check that you have the 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
I hope that helps !
回答6:
Well, i had to install Oracle's Java 8 SDK manually. And SQLDeveloper executes without errors
Since i have Ubuntu installed, i went to Oracle SQL Developer download page and downloaded Other Platforms. Notice right under it has a link to the lastest Oracle 8 JDK (211) next to Installation Notes.
You can follow here, but this is for a full install of Oracle's Java 8 JDK and i want only SQL Developer pointing to it. In sudo update-alternatives --config java
i still have openjdk installed with no problems.
So in /usr/lib/jvm:
sudo tar -xvzf ~/Downloads/jdk-8u211-linux-x64.tar.gz
Inform Ubuntu of installed location:
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
Check with sudo update-alternatives --config java
In local folder or user directory that executed sqldeveloper.sh:
nano/vi/vim/emacs /home/user/.sqldeveloper/19.1.0/product.conf
update the line SetJavaHome /usr/lib/jvm/someOpenJDKInstallation
to SetJavaHome /usr/lib/jvm/jdk1.8.0_211/
Or if running for a first time, answer this directory /usr/lib/jvm/jdk1.8.0_211/ when it asks for a JDK.
来源:https://stackoverflow.com/questions/52484814/oracle-sql-developer-problem-initializing-welcome-page