安装正确的 Java 后,MacOS 上的 Oracle SQLDeveloper 无法打开
Posted
技术标签:
【中文标题】安装正确的 Java 后,MacOS 上的 Oracle SQLDeveloper 无法打开【英文标题】:Oracle SQLDeveloper on MacOS won't open after installation of correct Java 【发布时间】:2018-11-15 10:38:29 【问题描述】:我下载了 Oracle SQLDeveloper,但是当我打开它时,它说它至少需要 Java 8,并给了我下载的网站。我继续下载 Java 10.0.1,但是当我继续打开 SQL 时,它继续说它至少需要 Java 8。
我检查了 Java 10.0.1 是否已正确安装,我很确定它已正确安装。它显示在“系统偏好设置”中,点击后会很好地打开 Java 控制面板。
我使用的是 MacOS X El Captain 10.11.6。
【问题讨论】:
SQLDeveloper是哪个版本的,打开的时候报什么错? 【参考方案1】:Sqldeveloper 仅适用于 jre 8
A) 安装
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk8
A.1) 可选 - 将以下内容添加到 .zshrc
jdk()
version=$1
unset JAVA_HOME;
export JAVA_HOME=$(/usr/libexec/java_home -v"$version");
java -version
感谢 - Mac OS X and multiple Java versions
B) 权限
chmod +x /Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper.sh
C) 如下创建一个 sqldeveloper.zsh
#!/bin/zsh
source ~/.zshrc
jdk 1.8.0_291
/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper.sh
【讨论】:
【参考方案2】:上面的帖子是对的:SQLDeveloper only runs under Java 8。
这是违反直觉的,因为其他程序在至少 X 版本的软件(不是仅 X 版本)下运行。我一直在下载 Java 11,但没有成功。
在一个月前的 1 次失败尝试和今天两个小时的搜索之后,我发现这个简单的修复方法对我有用。
解决方案
-
删除 Mac 上的以下 Java 文件和文件夹。
1.1 移除插件: sudo rm -rf "/Library/Internet 插件/JavaAppletPlugin.plugin/" 或者,如果 sudo rm -rf 让您感到不舒服,您也可以: 使用(Command + Shift = G)“转到文件夹”并将其移至垃圾箱。
下载并安装 Java 8。 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
启动 SQLDeveloper。
【讨论】:
是的,这是违反直觉的。 这是我第二次遇到问题。这一次我有一些小的 Java 更新和 SQL 开发人员停止工作。我从 JavaVirtualMachines 文件夹中删除了最新版本 我安装了 Java 13,但 SQL Developer 无法正常工作。我只是按照您的链接安装了 Java 8,然后它就开始工作了。谢谢! 如果它对其他人有帮助,Oracle 更新了 Java JDK 11 并且 JDK 11.0.7 已通过 Catalina 认证,它也适用于 SQL Developer! oracle.com/tools/downloads/sqldev-v192-downloads.html 这行得通。我不必删除 macOS Catalina 上的任何内容【参考方案3】:对于我的 mac Big Sur 11.1 版,单击 sql developer 图标不起作用。以下解决方法工作正常。
cd /Applications/SQLDeveloper.app/Contents/resources/sqldeveloper
zsh sqldeveloper.sh
【讨论】:
我也开始不得不这样做了。【参考方案4】:适用于使用 Big Sur 的 Mac 用户。 (我在 11.2.2):
编辑以下文件:
/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
并添加java 8的路径如下:
SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
【讨论】:
谢谢,它对我有用。小心java home。如果您设置路径,您可以使用它,“jdk1.8.0_281.jdk”部分很可能会有所不同。添加此路径时使用您自己的版本。 这对我使用 macOS Big Sur 版本 11.5.2 有效。我首先验证了 jdk 位置是否存在。【参考方案5】:我在我的 mac 上遇到了同样的问题。我的机器上有 JDK 15。我从here 安装了 JDK 8,并且刚刚根据How to set or change the default Java (JDK) version on OS X? 更新了 JAVA_HOME
工作就像一个魅力!
【讨论】:
【参考方案6】:导航到 macbook SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin 中的文件夹
查找 sqldeveloper 文件(可执行文件)
点击打开sql developer,你可以创建一个别名并在桌面保留快捷方式直接运行sql developer。
【讨论】:
谢谢,这对我有用!升级到 Big Sur 后我遇到了这个问题。【参考方案7】:MacOS Big Sur,Java 8 我也有同样的问题。点击图标不起作用。来自终端的此命令启动应用程序。 sh /Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh
这在 MacOS Big Sur 11.2 中停止工作
【讨论】:
谢谢!这对我有用(MacOS Big Sur 11.1)【参考方案8】:我在 Catalina 10.15.6 和 SQLDeveloper 20.2.0 上遇到了同样的问题,但这里提到的解决方案都没有解决这个问题。首先,我必须右键单击 SQLDeveloper.app 文件并选择“打开”,而不是仅仅双击以避免它不是 Apple 批准的应用程序的问题。
我尝试安装各种版本的 JDK,但在我尝试 JDK 11.0.8 (https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) 之前都没有工作。查看 Robert Bain 提到的 Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh 有帮助。从该脚本中可以清楚地看出,此版本的 SQLDeveloper 将仅接受 JDK 版本 1.8、11 或 12。
安装 JDK 11 后,安装按预期进行。
【讨论】:
【参考方案9】:运行 macOS Catalina 10.12.5 和 openjdk 11 和 SQLDeveloper 19.4.0.354 的 Mac 的工作解决方案:
编辑/Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh
:
-
删除
export JAVA_HOME=$TMP_PATH
之前的所有代码
将export JAVA_HOME=$TMP_PATH
更改为export
JAVA_HOME=<path_to_jdk>/jdk-11.jdk/Contents/Home
启动 SQLDeveloper
如果 macOS 抱怨从互联网上下载的文件,请致电 xattr -d com.apple.quarantine <filename>.
顺便说一句,我看到 /Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/jdk.conf
有通过取消注释并指定 SetJavaHome
来设置 java home 的说明,但这对我不起作用。
【讨论】:
【参考方案10】:以前,只有 JDK 8 可与 Oracle SQL Developer 配合使用。
但是,根据https://www.oracle.com/tools/downloads/sqldev-v192-downloads.html,需要 JDK 8 或 11。 (有一些误导性的文档说 JDK 8 或更高版本,但它必须是 8 或 11)。此外,根据 Oracle,JDK 11.0.7 已通过 Mac OS Catalina 认证。
JDK 11 认证:https://www.oracle.com/java/technologies/javase/products-doc-jdk11certconfig.html
JDK 认证:https://www.oracle.com/java/technologies/javase-subscription/documentation.html#sysconfig
当我只安装了 JDK 14 时,它无法运行。它看起来像是要开始了,但甚至不会开始。您需要授予它运行的权限,因为它仍然不是 Apple 批准的应用程序。 (按住 Ctrl 键单击,然后打开,据说可以工作并保存您的设置,但经过这么多更改试图让它工作,我不能保证)。
【讨论】:
【参考方案11】:解压mac sqldeveloper.zip文件后,会找到SQLDeveloper.app文件。
将 SQLDeveloper.app 复制到 Applications 文件夹。稍后在终端中执行以下命令。
xattr -d com.apple.quarantine /Applications/SQLDeveloper.app
【讨论】:
【参考方案12】:您必须设置 Java 主页。请按照以下步骤操作。
通过右键单击 OracledataModeler 图标和“显示包内容”找到安装目录,这将显示 Mac 上的安装目录
转到(例如安装目录)/Users/user directory/Downloads/OracleDataModeler.app/Contents/Resources/datamodeler/datamodeler/bin
编辑\datamodeler\datamodeler\bin directory
中的datamodeler.conf 文件并添加SetJavaHome。 (例如 SetJavaHome /usr/lib/jdk18
)
SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
从(安装目录)/Users/user directory/Downloads/OracleDataModeler.app/Contents/Resources/datamodeler/datamodeler.sh
启动 SQL 数据建模器
【讨论】:
我首先尝试了 Adam Wright 的建议,但这还不够……你的小费完成了这项工作。谢谢! 为我工作!谢谢!对于 Oracle SQL Developer,配置路径是/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
【参考方案13】:
我遇到了同样的问题,以上解决方案都不适合我。我正在运行 MacOS 10.14.5
相反,我必须卸载通过 home brew 和 sqlDeveloper 安装的 Java12。卸载和删除两者后,我直接从oracle网站通过下载安装了Java8 JDK,然后我重新安装了sqlDeveloper。在浪费了三个小时试图让它工作之后,这组步骤终于成功了。我希望这对其他人有帮助。
【讨论】:
【参考方案14】:如果OpenJDK 适合您,并且您已经在使用/愿意使用Homebrew,AdoptOpenJDK 适合我:
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk8
我尚未对此进行彻底测试,但至少我能够启动 SQL Developer 19.1.0.094,连接到数据库并在其上运行查询。
如果我尝试使用他们的说明安装“最新”版本:brew cask install adoptopenjdk
,它不起作用,因为这似乎在 2019 年 5 月安装了 OpenJDK 12.x。
还有其他安装 OpenJDK 的方法,但这是一种简单的方法。
【讨论】:
在这之后我进入了JavaFX problem...只需使用Oracle JDK 1.8,就像这里的其他答案一样。 这对我在莫哈韦和蒙特雷都有效。【参考方案15】:SQL Developer 运行它来检查 java 9 然后 8。我们还不支持(缺乏大量测试)java 10。你为我们去了新的。备份到 8 或 9 应该没问题。
我们使用/usr/libexec/java_home
,它允许我们指定我们想要运行的Java 版本。因此,即使您安装了 N 个 java,它也应该返回带标志传入的最高的那个。
#!/bin/bash
##### THIS IS CHECKING FOR JAVA 9 #####
TMP_PATH=`/usr/libexec/java_home -F -v 9`
if [ -z "$TMP_PATH" ] ; then
##### THIS IS CHECKING FOR JAVA 8 #####
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. \nJava 8 can be downloaded from:\n http://www.oracle.com/technetwork /java/javase/downloads/"'
exit 1
fi
fi
【讨论】:
好的,我删除了 java 10,而是安装了 java 8,但是,同样的错误消息出现了,说我需要 java 8 并且无法打开 如果你在终端上运行这个 sn-p 会发生什么? 它出现:'无法找到任何与版本“1.8”匹配的 JVM。'并且错误消息再次出现在一个单独的框中。但是,我检查了我的 Mac 上的系统偏好设置,它肯定说安装了 Java 8 您安装的是 JRE 而不是 JDK。在这里获取它oracle.com/technetwork/java/javase/downloads/… 这似乎奏效了!非常感谢您的帮助,谢谢!【参考方案16】:如果您查看下载页面 (http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html),它会显示需要 JDK8。我认为它不支持 Java 9 或 10。许多程序仍然不支持。
至于您尝试的命令是针对 Windows 的,MacOS 上没有 c:\Program Files。运行java -version
应该足够了。
您可能想检查如何运行多个 Java 版本,请参阅Mac OS X and multiple Java versions。有点乱,但迟早你会需要的!
【讨论】:
以上是关于安装正确的 Java 后,MacOS 上的 Oracle SQLDeveloper 无法打开的主要内容,如果未能解决你的问题,请参考以下文章
macOS Mojave (10.14) 到 Lion (10.7) 上的 JAVA_HOME 在哪里?
macOS 上 MAMP 或 XAMPP 上的安装错误 phalcon
台式机安装黑苹果MacOS 10.15.3后,系统无法正确的识别主板信息了。该如何恢复?
redis在macOS上的安装及与springboot的整合使用