Конкретная java для sh скрипта
У меня есть два sh скрипта. Один для запуска требует java не младше 17, другой - не старше 16. Как я могу определить конкретную версию для каждого скрипта, подскажите пожалуйста?
Я пробовал прописывать полный путь до папки java. Permission denied.
Ответы (2 шт):
Какую Java запустить определяет переменная окружения JAVA_HOME и бинарник, перед строкой скрипта добавляешь alias javac=/путь/до/17/bin/javac && JAVA_HOME=/путь/до/17й script1.sh перед вторым соответственно alias javac=/путь/до/16/bin/javac && JAVA_HOME=/путь/до/16й script2.sh Ну и конечно посмотри что-бы PATH не перемешивался...
Решил проблему через выбор необходимой java каждый раз при запуске sh скрипта через update-alternatives.
сначала ввёл update-alternatives --сonfig java и с помощью этого узнал пути установленных jdk
Потом добавил в скрипты следующие команды
update-alternatives --set java /usr/lib/jvm/bellsoft-java16-full-amd64/bin/java;
# для java 16
update-alternatives --set java /usr/lib/jvm/bellsoft-java17-full-amd64/bin/java;
# для java 17
