问题描述
我想用这个命令在Ubuntu上运行Oracle SQL Devloper
:
sh sqldeveloper/sqldeveloper.sh
然后我收到了这条消息:
Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /home/aimad/.sqldeveloper/4.0.0/product.conf
所以我给出了jdk的路径如下:
/usr/lib/jvm/java-7-openjdk-i386/
但后来我收到了这条消息:
Error: Java home /usr/lib/jvm/java-7-openjdk-i386//bin/java is not a JDK. Running SQL Developer under a JRE is not supported.
最佳解决方法
对我来说这是类似的错误。我只是通过插入解决了它
SetJavaHome /usr/lib/jvm/java-7-openjdk-amd64/
进入〜/.sqldeveloper /4.0.0 /product.conf文件。
次佳解决方法
我同意szabozoltan的回答,但应该有一些解释:
SetJavaHome /usr/lib/jvm/java-7-openjdk-amd64/
这个我们需要保存在product.conf文件中。 Ino rder要打开该文件,我们需要输入以下命令:
sudo gedit /home/abc/.sqldeveloper/4.0.0/product.conf
在此之后,键入以下命令。
./sqldeveloper.sh
就是这样,您的SQL Developer将被打开。
第三种解决方法
您只安装了Java JRE,需要安装JDK才能使Oracle SQL Devloper正常工作。
长话短说
安装JDK,在终端中键入sudo apt-get install openjdk-7-jdk
。
检查JDK是否已安装
要检查是否安装了JDK,请在终端中键入aptitude search openjdk-7-jdk
。如果在任一软件包旁边看到i
,则会安装它。例如,我的机器上安装了64位JDK,这是输出。
$ aptitude search openjdk-7-jdk
i openjdk-7-jdk - OpenJDK Development Kit (JDK)
p openjdk-7-jdk:i386 - OpenJDK Development Kit (JDK)
如果包旁边没有i
,则表示未安装。
安装JDK
要在ubuntu中安装JDK,您需要安装包openjdk-7-jdk。通过在终端中运行sudo apt-get install openjdk-7-jdk
进行安装。
设置JAVA_HOME
安装JDK后,需要设置JAVA_HOME环境变量。您可以通过运行update-java-alternatives -l
查看计算机上所有已安装的JDK,选择要使用的JDK并复制第三个字段,该字段是该JDK的JAVA_HOME。
例如,在我的机器上
$ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
这意味着我只安装了一个JDK,java-1.7.0-openjdk-amd64
,其JAVA_HOME是/usr/lib/jvm/java-1.7.0-openjdk-amd64
。
接下来,设置JAVA_HOME环境变量,在Bash中我将通过从终端运行它来设置它:
$ export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
检查以确保设置正确。
$ echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-amd64
这将为您当前的终端会话设置JAVA_HOME,不必担心再次设置它,您可以将其添加到您的~/.bashrc
文件中。
运行Oracle SQL Developer
安装JDK并设置JAVA_HOME环境变量后,可以进入sql developer目录并运行sqldeveloper.sh脚本。
$ cd sqldeveloper
$ ./sqldeveloper.sh
如果sqldeveloper.sh不可执行,请运行chmod +x sqldeveloper.sh
并再次运行该脚本。
检查所有Java包
为了完整起见,您可以通过运行aptitude search openjdk-7
来检查已安装的Java软件包。如果安装了JRE,则在openjdk-7-jre
开头的软件包旁边放置一个i
$ 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)
第四种方法
只是通过不像你那样添加斜杠来解决这个问题,而不是
/usr/lib/jvm/java-7-openjdk-i386/
类型
/usr/lib/jvm/java-7-openjdk-i386