我尝试安装 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?是不是 IBM ACE 11 的一些设置导致 java -version 与 root 终端不同,即使我运行了 update-alternatives -set java?并且导致我的 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
答案1
我猜测这是由于设置不正确造成的,因此首先在 java 中搜索,而不是在 standard 中$PATH
搜索。/opt/IBM/ace-11.0.0.12/common/jdk/jre/bin/
/usr/bin/java
您可以检查您的路径回显
echo $PATH
并比较 root / 非 root 终端的输出。然后您需要检查在哪里添加了其他条目(常见的嫌疑人是/etc/profile
、、和)~/.bash_profile
~/.bashrc
~/.bash_login
~/.profile
答案2
用户终端甚至我已经设置为使用新的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