MacOS上的Oracle SQLDeveloper赢得了';安装正确的Java后,无法打开

MacOS上的Oracle SQLDeveloper赢得了';安装正确的Java后,无法打开,java,oracle,macos,java-8,oracle-sqldeveloper,Java,Oracle,Macos,Java 8,Oracle Sqldeveloper,我下载了OracleSQLDeveloper,但当我打开它时,它说它至少需要Java8,并给了我下载的网站。我继续下载了Java10.0.1,但当我继续打开SQL时,它继续说它至少需要Java8 我检查了Java10.0.1是否已正确安装,我很确定它已正确安装。它显示在系统首选项中,单击时,会打开Java控制面板 我还发现有人建议尝试此命令: c:\Program Files\Oracle\sqlcl\17.3\sqlcl\bin>java -version 在终端中尝试此操作后,我发现

我下载了OracleSQLDeveloper,但当我打开它时,它说它至少需要Java8,并给了我下载的网站。我继续下载了Java10.0.1,但当我继续打开SQL时,它继续说它至少需要Java8

我检查了Java10.0.1是否已正确安装,我很确定它已正确安装。它显示在系统首选项中,单击时,会打开Java控制面板

我还发现有人建议尝试此命令:

c:\Program Files\Oracle\sqlcl\17.3\sqlcl\bin>java -version
在终端中尝试此操作后,我发现
命令未找到


我使用的是MacOS X El Captain 10.11.6。

如果您查看下载页()它说需要JDK8。我认为它不支持Java9或Java10。许多节目仍然没有

至于您尝试的用于Windows的命令,MacOS上没有c:\Program文件。运行
java-version
就足够了


您可能需要检查如何运行多个Java版本,请参阅。它有点凌乱,但迟早你会需要它的

SQL开发人员运行这个程序,检查java 9,然后检查java 8。我们还不支持(缺乏大量测试)Java10。你为我们去了纽约。备份到8或9,应该可以

我们使用
/usr/libexec/java_home
,它允许我们指定要运行的java版本。因此,即使您安装了N个javas,它也应该返回与标志一起传入的最高值

   #!/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
上面的帖子是正确的:

这是违反直觉的,因为其他程序至少在软件的X版本下运行(不是只有X版本)。我一直在下载Java11,但运气不好

在一个月前的一次失败尝试和今天两个小时的搜索之后,我发现这个简单的修复方法对我来说很有效

解决方案

  • 删除mac上的以下Java文件和文件夹

    • /库/互联网插件/JavaAppletPlugin.plugin
    • /Library/Java/JavaVirtualMachines/(删除当前Java文件夹)
  • 下载并安装Java8。

  • 启动SQLDeveloper

  • 如果愿意为您工作,并且您已经在使用/愿意使用,则为我工作:

    brew tap AdoptOpenJDK/openjdk
    brew install adoptopenjdk8
    
    我还没有对此进行彻底测试,但至少我能够启动SQL Developer 19.1.0.094,连接到数据库,并对其运行查询

    如果我尝试使用他们的说明安装“最新”版本:
    brew cask安装采用OpenJDK
    ,则无法正常工作,因为这似乎是从2019年5月开始安装OpenJDK 12.x


    安装OpenJDK还有其他方法,但这是一种简单的方法

    我也有同样的问题,上面的解决方案都不适合我。我正在运行MacOS 10.14.5


    相反,我不得不卸载通过home brew和sqlDeveloper安装的Java12。在卸载和删除这两项之后,我通过下载直接从oracle网站安装了Java8JDK,然后重新安装了sqlDeveloper。在浪费了三个小时试图让它工作后,这组步骤终于成功了。我希望这能帮助别人

    您必须设置Java主页。请按照下面给出的步骤操作

    • 通过右键单击OracledataModeler图标和“显示软件包内容”查找安装目录这将在Mac上显示安装目录

    • 转到(例如安装指南)
      /Users/user目录/Downloads/OracleDataModeler.app/Contents/Resources/datamodeler/datamodeler/bin

    • 编辑
      \datamodeler\datamodeler\bin目录中的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


    解压缩mac sqldeveloper.zip文件后,您将找到sqldeveloper.app文件

    将SQLDeveloper.app复制到应用程序文件夹。稍后在终端中执行以下命令


    以前,只有JDK 8与Oracle SQL Developer一起工作

    但是,根据需要,JDK 8或11是必需的。(有一些误导性文档说JDK 8或更高,但它必须是8或11)。此外,根据Oracle,JDK 11.0.7是针对Mac OS Catalina认证的

    JDK 11认证:

    JDK认证:


    当我只安装了JDK14时,它不会运行。它看起来像是要开始了,但却没有开始。你需要给予它运行的许可,因为它仍然不是苹果批准的应用程序。(按住Ctrl键单击,然后打开,应该可以工作并保存您的设置,但在尝试使其工作的这么多更改之后,我不能保证)。

    使用openjdk 11和SQLDeveloper 19.4.0.354运行macOS Catalina 10.12.5的Mac的工作解决方案:

    编辑
    /Applications/SQLDeveloper.app/Contents/MacOS/SQLDeveloper.sh

  • 删除导出JAVA\u HOME=$TMP\u PATH之前的所有代码
  • export JAVA_HOME=$TMP_PATH
    更改为
    export
    JAVA_HOME=/jdk-11.jdk/Contents/HOME
  • 启动SQLDeveloper
  • 如果macOS抱怨从互联网下载的文件,请致电
    xattr-d com.apple.quantial.


    顺便说一句,我看到
    /Applications/SQLDeveloper.app/Contents/Resources/SQLDeveloper/SQLDeveloper/bin/jdk.conf
    中有通过取消注释和指定
    SetJavaHome
    来设置java home的说明,但这对我来说不起作用。

    我在Catalina 10.15.6和SQLDeveloper 20.2.0上有同样的问题,但没有一个问题这里提到的解决方案解决了这个问题。首先,我必须右键单击SQLDeveloper.app文件并选择“打开”,而不是直接打开
    xattr -d com.apple.quarantine /Applications/SQLDeveloper.app
    
    /Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf 
    
    SetJavaHome /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home