1

我在 debian(lenny) 上安装了 jdk1.6.0_21 和 sqldeveloper(使用外星人)。现在,当我运行 sqldeveloper 时,它会询问 J2SE 安装路径,在我键入 jdk 路径后,它会退出并显示以下错误消息。

Oracle SQL Developer
 Copyright (c) 2008, Oracle. All rights reserved.  

Type the full pathname of a J2SE installation (or Ctrl-C to quit), the path will be stored in ~/.sqldeveloper/jdk
/usr/java/jdk1.6.0_21
/opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 430: /root/.sqldeveloper/jdk: No such file or directory
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
Error: SQL Developer can't recognize the JDK version
4

9 回答 9

2

您可能需要发出以下命令:

echo '/usr/lib/jvm/java-6-sun' > ~/.sqldeveloper/jdk
于 2011-07-22T16:47:23.073 回答
2

也可以

/usr/lib/jvm/java-6-openjdk
于 2012-09-28T17:34:54.373 回答
2

在 sqldeveloper 主页上有一个名为 sqldeveloper.sh(或 datamodeler.sh)的文件,添加以下行:

unset GNOME_DESKTOP_SESSION_ID

应该是这样的:

#!/bin/bash
unset GNOME_DESKTOP_SESSION_ID
cd "`dirname $0`"/sqldeveloper/bin && bash sqldeveloper $*

就这样。再见

于 2015-03-25T18:11:12.940 回答
1

此错误消息有几个可能的原因:

  • VM 找不到 rt.jar 文件
  • VM 和 rt.jar 文件不匹配(例如 VM 是 1.6.x 版,rt.jar 是 1.4 版)
  • JDK没有正确安装

以下命令的输出是什么?

which java
java -version
/usr/java/jdk1.6.0_21/bin/java -version
于 2010-08-09T19:20:56.337 回答
1

最后我发现了问题,JDK没有正确安装。之后我安装了 OpenJDK 的新副本,它工作正常。

于 2010-08-11T15:05:58.560 回答
1

当我以 root 身份安装我的 SQL Developer 时,我也有同样的情况,但将其用作其他用户。在我的情况下,看起来 Sql 开发人员将文件 ~/.sqldeveloper/.... 作为 root:root 权限,但在 sudo 用户的主目录中.. 这很奇怪但很容易修复为

 chown youruser:yourgroup -R ~/.sqldeveloper
于 2014-08-20T08:07:33.757 回答
0

当您收到几条似乎没有任何意义的错误消息时,请先查看第一个错误。在这种情况下,这将是:

/root/.sqldeveloper/jdk: No such file or directory

看起来 sqldeveloper 正在尝试写入文件,但失败了。你以root身份运行它吗?如果不是,你能想到为什么 sqldeveloper 会认为你的主目录是 /root/ 吗?

于 2010-08-09T19:40:04.383 回答
0

看起来这两个 java 版本(可通过 /usr/bin/java 访问的 OpenJDK 和 JDK 1.6.0_21 混淆了)。我只能猜测如何解决:

  • update-alternatives --set java /usr/java/jdk1.6.0_21/bin/java
  • 尝试卸载 OpenJDK
  • 可能,你需要同时做
于 2010-08-10T16:42:17.470 回答
0

仅在 /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf 中替换

来自:SetJavaHome ../../jdk

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

于 2013-12-05T12:45:04.813 回答