The full pathname of a JDK installation for Oracle SQL Developer

后端 未结 10 1626
你的背包
你的背包 2021-02-02 11:00

I want to run Oracle SQL Devloper on Ubuntu with this command:

sh sqldeveloper/sqldeveloper.sh

Then I got this message:

相关标签:
10条回答
  • 2021-02-02 11:50

    In my case (Oracle SQL Developer 4.1.3) it seems to be problem with Java version - when I point to Java 8 JDK instead of 11, it started working immediately.

    0 讨论(0)
  • 2021-02-02 11:57

    For me it was similar error. I solved it simply by inserting

    SetJavaHome /usr/lib/jvm/java-7-openjdk-amd64/
    

    into ~/.sqldeveloper/4.0.0/product.conf file.

    0 讨论(0)
  • 2021-02-02 11:58

    You only have the Java JRE installed, you need to install the JDK in order for Oracle SQL Devloper to work.

    TL;DR

    Install the JDK, type sudo apt-get install openjdk-7-jdk in a terminal.

    Checking if JDK is Installed

    To check if you have the JDK installed, type aptitude search openjdk-7-jdk in the terminal. If you see an i beside either package then it is installed. For example, I have the 64-bit JDK installed on my machine, this is the output.

    $ aptitude search openjdk-7-jdk
    i   openjdk-7-jdk                                   - OpenJDK Development Kit (JDK)                            
    p   openjdk-7-jdk:i386                              - OpenJDK Development Kit (JDK) 
    

    If the package does not have an i beside it, then it is not installed.

    Installing JDK

    To install in the JDK in ubuntu you need to install the package openjdk-7-jdk. Install by running sudo apt-get install openjdk-7-jdk in a terminal.

    Setting JAVA_HOME

    After installing the JDK you need to set the JAVA_HOME environment variable. You can see all the installed JDKs on your machine by running update-java-alternatives -l, choose the one you want to use and copy the third field, this field is the JAVA_HOME for that JDK.

    For example, on my machine

    $ update-java-alternatives -l
    java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
    

    This means I only have one JDK installed, java-1.7.0-openjdk-amd64, and its JAVA_HOME is /usr/lib/jvm/java-1.7.0-openjdk-amd64.

    Next, set the JAVA_HOME environment variable, in Bash I would set it by running this from the terminal:

    $ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
    

    Check to make sure it was set correctly.

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-1.7.0-openjdk-amd64
    

    This will set JAVA_HOME for your current terminal session, to not have to worry about setting it again, you can add it to your ~/.bashrc file.

    Running Oracle SQL Developer

    Once the JDK is installed and the JAVA_HOME environment variable set, you can move into the sql developer directory and run the sqldeveloper.sh script.

    $ cd sqldeveloper
    $ ./sqldeveloper.sh
    

    If sqldeveloper.sh is not executable run chmod +x sqldeveloper.sh and run the script again.

    Checking all Java packages

    For completeness, you can check what Java packages you have installed by running aptitude search openjdk-7. If you have the JRE installed you will se an i beside a package that begins with openjdk-7-jre

    $ aptitude search openjdk-7
    p   openjdk-7-dbg                                   - Java runtime based on OpenJDK (debugging symbols)        
    p   openjdk-7-dbg:i386                              - Java runtime based on OpenJDK (debugging symbols)        
    p   openjdk-7-demo                                  - Java runtime based on OpenJDK (demos and examples)       
    p   openjdk-7-demo:i386                             - Java runtime based on OpenJDK (demos and examples)       
    p   openjdk-7-doc                                   - OpenJDK Development Kit (JDK) documentation              
    i   openjdk-7-jdk                                   - OpenJDK Development Kit (JDK)                            
    p   openjdk-7-jdk:i386                              - OpenJDK Development Kit (JDK)                            
    i   openjdk-7-jre                                   - OpenJDK Java runtime, using Hotspot JIT                  
    p   openjdk-7-jre:i386                              - OpenJDK Java runtime, using Hotspot JIT                  
    i   openjdk-7-jre-headless                          - OpenJDK Java runtime, using Hotspot JIT (headless)       
    p   openjdk-7-jre-headless:i386                     - OpenJDK Java runtime, using Hotspot JIT (headless)       
    i   openjdk-7-jre-lib                               - OpenJDK Java runtime (architecture independent libraries)
    v   openjdk-7-jre-lib:i386                       -                                                          
    p   openjdk-7-jre-zero                              - Alternative JVM for OpenJDK, using Zero/Shark            
    p   openjdk-7-jre-zero:i386                         - Alternative JVM for OpenJDK, using Zero/Shark            
    p   openjdk-7-source                                - OpenJDK Development Kit (JDK) source files               
    p   uwsgi-plugin-jvm-openjdk-7                      - Java plugin for uWSGI (OpenJDK 7)                        
    p   uwsgi-plugin-jvm-openjdk-7:i386                 - Java plugin for uWSGI (OpenJDK 7)                        
    p   uwsgi-plugin-jwsgi-openjdk-7                    - JWSGI plugin for uWSGI (OpenJDK 7)                       
    p   uwsgi-plugin-jwsgi-openjdk-7:i386               - JWSGI plugin for uWSGI (OpenJDK 7) 
    
    0 讨论(0)
  • 2021-02-02 12:00

    I've faced with similar issue. Tried published recommendations but unsuccessfully. Possible the reason I'm using sdkman to manage java versions, may be something with permissions because of Mac OS.

    For Mac user it is important try manage configuration:

    • try SetJavaHome {{path to your java}} in ~/.sqldeveloper/{{sql-dev-version}}/product.conf

    this step could help if you are using jdk installed by brew following default path.

    If you've installed openjdk with sdkman path to java will be like ~/.sdkman/candidates/java/{{java-version}} and this path needs to be mapped on default expectations with aliases.

    I did not have information about the default path, so it needs to find executable file:

    • start sqldeveloper (to make shown error message);
    • in terminal try ps ux | grep sql - it will help you to detect executable file location sqldeveloper.sh;
    • open the file with text editor:
      • remove or comment block that tries to get java from default location /usr/libexec/java_home;
      • find line with export JAVA_HOME=$TMP_PATH and replace path with your path to java home or simply remove line if JAVA_HOME was specified in OS settings.
    0 讨论(0)
提交回复
热议问题