java -версия отличается в пользовательском и корневом терминале
Я попытался установить Oracle SQL Developer. Но в моей Ubuntu установлена IBM ACE 11 Developer Edition, из-за чего я не могу использовать путь IBM/java для запуска Oracle SQL Developer. Поэтому я загрузил и установил JAVA SE 8 и установил новый Java JDK с помощью sudo update-alternatives -set java.
Текущий на моем пользовательском терминале, даже я установил новый 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 моего пользовательского терминала по-прежнему остается java, установленной при установке ACE 11? Это какой-то параметр IBM ACE 11, который отличает java -версию от корневого терминала, даже если я запустил 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*
Я установил JAVA_HOME как в моем пользовательском, так и в корневом .bashrc и .profile в /usr/lib/jvm/jdk1.8.0_29/bin/java
2 ответа
Я предполагаю, что это вызвано неправильным
$PATH
настройка, поэтому java сначала ищется в
/opt/IBM/ace-11.0.0.12/common/jdk/jre/bin/
вместо стандартного
/usr/bin/java
.
Вы можете проверить эхо вашего пути
echo $PATH
и сравните вывод с корневых/некорневых терминалов. Затем вам нужно будет проверить, где добавлена дополнительная запись (обычные подозреваемые
/etc/profile
,
~/.bash_profile
,
~/.bashrc
,
~/.bash_login
а также
~/.profile
)
пользовательский терминал, даже я установил для использования новый 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