关于java:Oracle SqlDeveloper JDK 路径

Oracle SqlDeveloper JDK path

我最近安装了 sqldeveloper,但是当我尝试启动它时出现以下警告窗口。这导致 sqldeveloper 运行非常缓慢并且经常挂起

enter


消息似乎已过时。在版本 4 中,该设置存在于两个文件中,您需要在另一个文件中进行更改,即:

1
%APPDATA%\\sqldeveloper\\1.0.0.0.0\\product.conf

您可能需要将其扩展为实际的 APPDATA,类似于 C:\\Users\\cprasad\\AppData\
oaming
。在该文件中,您将看到 SetJavaHome 当前将设置为 Java 1.8 位置的路径,因此请像在 sqldeveloper.conf:

中所做的那样进行更改

1
SetJavaHome C:\\Program Files\\Java\\jdk1.7.0_60\\bin\\

如果 settig 是空白的(我认为在两个文件中),那么它应该会在您启动它时提示您选择 JDK 位置,如果您愿意的话。


您可以尝试的另一件事是重命名您的旧 jdk 文件夹,可以说它:

C:\\\\\\\\Program Files\\\\\\\\Java\\\\\\\\jdk1.7.0_04

把它改成类似这样的东西:

C:\\\\\\\\Program Files\\\\\\\\Java\\\\\\\\xxxjdk1.7.0_04

现在,您应该再次要求在 Oracle SqlDeveloper 启动时设置您的 jdk 文件夹位置,您可以选择正确的路径。

不是最优雅的解决方案,但它对我有用。

米洛斯


在你的 SQL Developer Bin 文件夹中找到

1
\\sqldeveloper\\bin\\sqldeveloper.conf

应该是

1
SetJavaHome \\path\\to\\jdk

你说它最初是 ../../jdk,所以你最终可以做两件事之一:

1
SetJavaHome C:\\Program Files\\Java\\jdk1.7.0_60

这是假设您在该目录中安装了 JDK 1.7.60;您不想将它指向您想要整个 JDK 文件夹的 bin 文件夹。

您可以做的第二件事是在 sqldeveloper 文件夹中为我找到它的 sqldeveloper\\jdk 文件夹中的 jdk 文件夹,然后复制并粘贴 C:\\Program Files\\Java\\jdk1.7.0_60 中的内容。然后,您必须将更改恢复为 read

1
SetJavaHome ../../jdk

在你的 sqldeveloper.conf

如果一切都失败了,你总是可以重新下载已经包含 jdk7 的 sqldeveloper,所有这些都被压缩并准备好让你随意运行:下载 SQL Developer 我谈论的文件名为 Windows 64-bit - zip file includes the JDK 7


我不敢相信 Oracle 的文档如此糟糕!在某些文档中,通过指定 JDK 根目录的路径来指向 JDK 会误导人们,例如在 Mac 上:

1
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/

审查 /Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh
揭示了他们用来设置路径的方法:

TMP_PATH=/usr/libexec/java_home -F -v 9
if [ -z"$TMP_PATH" ] ; then
TMP_PATH=
/usr/libexec/java_home -F -v 1.8
if [ -z"$TMP_PATH" ] ; then
osascript -e 'tell app"System Events" to display dialog"SQL Developer requires a minimum of Java 8. \
Java 8 can be downloaded from:\
http://www.oracle.com/technetwork/java/javase/downloads/"'
exit 1
fi
fi

从终端手动执行:

/usr/libexec/java_home -F -v 1.8

将路径列为:

1
/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

这就是你需要为

指定的值

SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home

感谢 Oracle 在您的"产品"上浪费了半天时间,该产品甚至不支持您发布的最新 Java 版本。


在 Windows 上,关闭所有 SQL Developer 窗口。然后您需要完全删除位于 user/AppData/Roaming 中的 SQL Developer 和 sqldeveloper 文件夹。最后运行程序,会提示输入新的JDK。

请注意,AppData 是一个隐藏文件夹。


对于使用 Mac 的用户,请编辑此文件:

1
/Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh

我的有:

1
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

我把它改成了 1.8,它就不再抱怨 java 版本了。


如果你使用 sqldeveloper 18.2.0

1
edit %APPDATA%\\sqldeveloper\\18.2.0\\product.conf

不支持jdk9、jdk10和jdk11

改回 jdk 8

例如

1
SetJavaHome C:\\Program Files\\ojdkbuild\\java-1.8.0-openjdk-1.8.0.191-1