我在我的Virtual Box Ubuntu中在线安装了一篇文章,之后安装了Oracle SQL Developer。
我的Ubuntu安装了IBM ACE 11开发版。所以当我在终端(用户(输入java版本时,我得到了这个:
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版本是
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版本不是我新安装的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命令更新备选方案--set java。。。。
我可以使用root启动sqldeveloper。但无法使用用户帐户启动sqldeveloper,我已将SetJavaHome设置为新安装的Java路径。
我试过这个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等(对于不同的用户来说是不同的。也许根用户bashrc
没有这个JAVA_HOME,或者可能有一个完全不同的版本。因此,请确保这两个用户的主目录中的文件具有相同的版本。有关更多信息,您可以查看What';.bashrc、.bash_profile和.environment之间有什么区别? -
错误状态为
symbol initInetAddressIDs version SUNWprivate_1.1 not defined in file libnet.so
。这可能是java设置的问题。正在提取的.so库可能会混淆。一旦你修复了第一个问题,它可能会起作用。