java - 在 Ubuntu 中无法在没有 sudo 的情况下启动 sqldeveloper

标签 java ubuntu oracle-sqldeveloper

我按照我的 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/

    相关文章:

    java - Map<String, Map<String, String>> - 使用 Stream 选择值的键

    java - 复制 Jar 文件而不损坏

    java - 使用特定名称服务器解析主机名的 Scala 或 java lib

    r - 获取错误 : Graphics API version mismatch

    sql - Oracle sql order by with case 语句

    java - 客户端-服务器 - 相同的模型

    linux - 在 ubuntu 15.04 中为开膛手约翰运行 make 命令

    android - Windows 10 的 SDK 是否可以在 Ubuntu 中运行?

    java - Oracle SQL Developer 4.2.0.17.089.1709 无法打开 - 无错误

    oracle-sqldeveloper - 模型中的 Oracle SQL Developer 菱形图标