Моя текущая версия Java по умолчанию - 7 (которая на данный момент не может быть обновлена - я знаю, что она достигла EOL), но также установлена Java 8.

Тем не менее, у меня есть некоторые сторонние файлы jar (все они содержатся в каталоге), для которых требуется Java 1.8. Каждый jar имеет связанный bash-скрипт для проверки соответствующих переменных среды и для создания команды java, необходимой для запуска jar. Каждый скрипт bash предполагает, что команда для вызова java, что неудивительно, является java .

Есть ли способ изменить версию java, которая запускается, когда java вызывается с 7 до 8 только в этой папке?

1 ответ1

1

Конечно: добавьте ваш pwd к вашей PATH , в наиболее значимой позиции, т.е.

 export PATH=.:$PATH

Вы должны использовать вышеупомянутую версию, а не export PATH=$PWD:$PATH потому что в этом случае $PWD оценивается во время получения файла bash, содержащего команду, в то время как вы хотите, чтобы он оценивался каждый раз.

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

ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java ./java

или как называется ваш исполняемый файл.

Обратите внимание, что включение вашего PWD в переменную PATH представляет собой потенциальную угрозу безопасности.

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