我按照我的 Virtual Box Ubuntu 中的在线文章安装了 Oracle SQL Developer。
我的 Ubuntu 安装了 IBM ACE 11 Developer Edition。所以当我在终端(用户)输入 java -version 时,我得到了这个:
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 8.0.6.20 - pxa6480sr6fp20ifix-20210224_01(SR6 FP20+IJ30974))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20210223_466229 (JIT enabled, AOT enabled)
OpenJ9 - 5b31a42
OMR - 4eb8f5f
IBM - b7e48f4)
JCL - 20201119_01 based on Oracle jdk8u271-b0
但是在我的根终端中,我的 java -version 是java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
.bashrc 和/etc/profile 中的 JAVA_HOME 都设置为 usr/lib/jvm/jdk1.8.0_291 (根据文章新下载的 JDK)第一个问题是为什么我将那些 JAVA_HOME 路径设置为相同的路径,但用户帐户中的 java -version 不是我新安装的 JDK。
# update-alternatives --list java
/opt/IBM/ace-11.0.0.12/common/jdk/jre/bin/java
/usr/lib/jvm/jdk1.8.0_291/bin/java
我已设置使用 sudo 命令 update-alternatives --set java ... 来使用新安装的 java (/usr/lib/jvm/jdk1.8.0_291/bin/java)。我可以使用 root 启动 sqldeveloper。但无法使用我已将 SetJavaHome 设置为新安装的 Java 路径的用户帐户启动 sqldeveloper。
我试过这个https://askubuntu.com/questions/566721/sql-developer-runs-in-terminal-with-sudo-sqldeveloper-but-not-without-sudo它要求更改文件所有权的地方。但它仍然不起作用
尝试启动 sqldeveloper 时出现错误
Oracle SQL Developer
Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
/usr/lib/jvm/jdk1.8.0_291/bin/java: relocation error: /usr/lib /jvm/jdk1.8.0_291/jre/lib/amd64/libnio.so:
symbol initInetAddressIDs version SUNWprivate_1.1 not defined in file libnet.so with link time reference
第二个问题是如何在不使用 root 启动 sqldeveloper 时解决错误?
最佳答案
bashrc
和其他基于配置文件的脚本,如 bash_profile 等,在登录时执行对于不同的用户是不同的。可能是 root 用户 bashrc
没有这个 JAVA_HOME 或者可能有不同的版本。因此,请确保这两个用户的主目录中的文件具有相同的版本。更多信息您可以查看What's the difference between .bashrc, .bash_profile, and .environment?symbol initInetAddressIDs version SUNWprivate_1.1 not defined in file libnet.so
.这可能是java设置的问题。获取的 .so 库可能会混淆。一旦你解决了第一个问题,它可能会起作用。关于java - 在 Ubuntu 中无法在没有 sudo 的情况下启动 sqldeveloper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67835588/