我在debian(lenny)上安装了jdk1.6.0_21和sqldeveloper(使用alien)。现在,当我运行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
答案 0 :(得分:2)
您可能希望发出以下命令:
echo '/usr/lib/jvm/java-6-sun' > ~/.sqldeveloper/jdk
答案 1 :(得分:2)
也可以
/usr/lib/jvm/java-6-openjdk
答案 2 :(得分: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 $*
这就是全部。 阿迪奥斯
答案 3 :(得分:1)
此错误消息可能有多种原因:
以下命令的输出是什么?
which java
java -version
/usr/java/jdk1.6.0_21/bin/java -version
答案 4 :(得分:1)
最后我发现了问题,JDK安装不正确。在安装完好后,我安装了一份新的OpenJDK副本。
答案 5 :(得分:1)
当我以root身份安装我的SQL Developer时,我也一样,但是将它作为其他用户使用..在我看来,Sql开发人员看起来像make文件〜/ .sqldeveloper / .... root:root权限,但在家庭目录中使用sudo用户..它很奇怪,但很容易修复
chown youruser:yourgroup -R ~/.sqldeveloper
答案 6 :(得分:0)
如果您收到几条似乎没有任何意义的错误消息,请先查看第一个错误。在这种情况下,那将是:
/root/.sqldeveloper/jdk: No such file or directory
看起来sqldeveloper正在尝试编写该文件,但失败了。你是以root身份运行吗?如果没有,你能想到为什么sqldeveloper会认为你的主目录是/ root /?
答案 7 :(得分:0)
看起来两个java版本(通过/ usr / bin / java和JDK 1.6.0_21可以访问的OpenJDK混淆了)。我只能猜测它是如何解决的:
update-alternatives --set java /usr/java/jdk1.6.0_21/bin/java
答案 8 :(得分:0)
仅替换/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
自: SetJavaHome ../../ jdk
于: SetJavaHome / usr / lib / jvm / java-7-openjdk-amd64