Использование определенной версии Java в определенном каталоге

Использование определенной версии Java в определенном каталоге

Текущая версия Java по умолчанию — 7 (которую пока нельзя обновить, поскольку я знаю, что она уже устарела), но у меня также установлена ​​Java 8.

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

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

решение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 представляет потенциальную угрозу безопасности.

Связанный контент