我尝试安装 Oracle SQL Developer。但是我的 ubuntu 安装了 IBM ACE 11 Developer Edition,这让我无法使用 IBM/java 路径来运行 Oracle SQL Developer。所以我下载并安装了 JAVA SE 8 并通过 sudo update-alternatives -set java 设置为使用新的 Java JDK
即使我已设置使用新的 Java JDK,在我的用户终端上也是如此:
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
$ which java
/opt/IBM/ace-11.0.0.12/common/jdk/jre/bin/java
我想问一下导致我的用户终端 java -version 仍然是通过安装 ACE 11 安装的 java 的设置可能是什么?即使我运行了 update-alternatives -set java,是不是一些 IBM ACE 11 设置使 java -version 与 root 终端不同?并导致我的 sqldeveloper 无法从我的用户帐户启动?
就像在我的根终端中一样,当输入 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)
# which java
/usr/lib/jvm/jdk1.8.0_291/bin/java
In the /etc/alternatives:
lrwxrwxrwx 1 root root 34 June 4 15:52 java -> /usr/lib/jvm/jdk1.8.0_29/bin/java*
我在我的用户和根 .bashrc 和 .profile 中将 JAVA_HOME 设置为 /usr/lib/jvm/jdk1.8.0_29/bin/java
我猜它是由不正确的
$PATH
设置引起的,所以首先搜索 java/opt/IBM/ace-11.0.0.12/common/jdk/jre/bin/
而不是 standard/usr/bin/java
。你可以检查你的路径回声
并比较来自根/非根终端的输出。然后您需要检查在哪里添加了额外的条目(常见的嫌疑人是
/etc/profile
、~/.bash_profile
、~/.bashrc
和)~/.bash_login
~/.profile
甚至我已经设置为使用新的 Java JDK 的用户终端: