28

Я знаю о Java-версии. Мне все равно, какую версию я сейчас использую. Меня волнует, какие другие версии установлены на моей Linux-коробке. Если это другая команда java - *, я не видел ее в java -help.

Я пытался найти его в Google, но ответы либо для Windows, либо они говорят "использовать Java-версию". Я знаю, что делал это раньше.

5 ответов5

33

В большинстве дистрибутивов Linux вы можете использовать update-alternatives подобные этой:

sudo update-alternatives --config java

Он перечислит все пакеты, которые предоставляют команду java, и позволит вам ее изменить. Если вы не хотите его менять, просто Ctrl-C .

Есть только один улов - если вы установили java не используя официальный менеджер пакетов (dpkg/apt-get , rpm/yum), а просто распаковали его, альтернативы обновления не покажут его.

2

Вы могли бы сделать:

find / -name java 

Чтобы найти все файлы. Менеджер пакетов с вашей версией Linux также должен иметь возможность перечислять их.

1

Вы оставляете желать лучшего, насколько подробно о вашей настройке идет. Java может быть установлена по-разному в Linux. Вы можете установить его с помощью пакета рассылки, например, apt, yum, yast, или установить его вручную.

Как бы вы ни устанавливали его, для установки Java в большинстве случаев нужен исполняемый файл Java, поэтому вы можете использовать команды locate или find для нахождения различных.

Пример, который, скорее всего, найдет ссылки и дубликаты, но имена каталогов должны помочь вам точно определить его:

for f in $(locate -ber '^java$'); do test -x && echo "$f"; done
1

Ранее я использовал следующее для определения установки java 8 для приложения, которому требовался набор переменных среды, чтобы он мог использовать версию java, которая не была установлена по умолчанию:

update-java-alternatives -l java-8-oracle

Однако сегодня это перестало работать. Сценарий / программа update-java-alternatives больше не устанавливается в моей системе Ubuntu 14.04. То, что установлено сейчас, это alternatives .

То, что я использую сейчас, чтобы получить конкретные альтернативные пути Java:

alternatives --display java | grep priority | grep jdk-1.8

Затем я могу помассировать результат, чтобы получить то, что мне нужно для переменной окружения моего приложения.

1

Я использую это, чтобы перечислить доступные установки Java:

sudo update-alternatives --display java

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .