Версия Javac отличается от версии Java
Linux Mint 19.3
В файле etc / profile:
export PATH=$PATH:$JAVA_HOME/bin
бегать set
в терминале:
JAVA_HOME=/usr/java/jdk1.8.0_251
PATH=/usr/java/jdk1.8.0_251/bin
В терминальном запуске
java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
Это верно.
Но когда я бегу
javac -version
Получаю другую версию.
javac 11.0.7
Мне нужен javac версии 1.8 (такой же, как java)
1 ответ
Решение
Основная причина проблемы заключается в том, что JAVA_HOME добавляется в конец PATH.
Проблему можно решить, добавив JAVA_HOME в начало PATH следующим образом:
export PATH=$JAVA_HOME/bin:$PATH
Рабочий пример:
Предположим, что JDK 11 установлен в каталоге /opt/jdk-11. Вот шаги по использованию Java версии 11 как для java, так и для javac:
1. Обновите JAVA_HOME и PATH
export JAVA_HOME=/opt/jdk-11
export PATH=$JAVA_HOME/bin:$PATH
2. Убедитесь, что и java, и javac выбраны из /opt/jdk-11/bin.
$ which java
/opt/jdk-11/bin/java
$ which javac
/opt/jdk-11/bin/javac
3. Проверьте вывод java и javac.
$ java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)
$ javac -version
javac 11.0.7