【问题标题】:Not able to start sqldeveloper without sudo in Ubuntu在 Ubuntu 中无法在没有 sudo 的情况下启动 sqldeveloper
【发布时间】:2021-06-04 10:22:02
【问题描述】:

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

我已设置使用新安装的 java (/usr/lib/jvm/jdk1.8.0_291/bin/java) 使用 sudo 命令 update-alternatives --set 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 时解决错误?

【问题讨论】:

    标签: java ubuntu oracle-sqldeveloper


    【解决方案1】:
    1. bashrc 和其他基于配置文件的脚本,如 bash_profile 等,在登录时执行,对于不同的用户来说是不同的。也许 root 用户 bashrc 没有这个 JAVA_HOME 或者可能有一个完全不同的版本。因此,请确保这两个用户的主目录中的文件具有相同的版本。更多信息可以查看What's the difference between .bashrc, .bash_profile, and .environment?

    2. 错误指出symbol initInetAddressIDs version SUNWprivate_1.1 not defined in file libnet.so。这可能是java设置的问题。获取的 .so 库可能会混淆。一旦你解决了第一个问题,它可能会起作用。

    【讨论】:

    • 您能在我编辑了一下后重新阅读我的第一个问题吗?我的 root 帐户具有我使用 sudo update-alternatives --set java 设置的正确 java -version,但我的用户帐户没有正确的 java -version。谢谢。
    • 你能分享你用来设置@cookick的文章吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2016-07-12
    • 2016-06-03
    • 2014-09-05
    • 2021-02-18
    • 1970-01-01
    相关资源
    最近更新 更多