Java не распознается при запуске сценария оболочки от Jenkins
Я пытаюсь запустить / вызвать программу Java на подчиненном устройстве Jenkins, используя Jenkins. Я получаю сообщение об ошибке Javac не распознается. Но когда я вызываю ту же программу непосредственно из подчиненного хоста jenkins, java-программа прекрасно работает. Я попытался установить java home, экспортировав $java_home в сам сценарий оболочки, но, похоже, это не помогло. Проверял версии java и все выглядело нормально. Есть мысли / идеи??
2 ответа
Переменная PATH действующего значения в этом сценарии не имеет Java. Есть много способов ее решить.
Опция 1
Абсолютный путь пользователя к вашей Java. Вы уже определили JAVA_HOME. Так что ссылайтесь на Java как на $JAVA_HOME/bin/java ...
Вариант 2
Вариант выше. Добавьте $ JAVA_HOME / bin в PATH. Как ниже
export PATH=$JAVA_HOME/bin:$PATH
Вариант 3
Дальнейшее изменение выше. Разрешите Jenkins установить JDK и установить переменную среды, указывающую на установку. Используйте эту переменную среды в вашем скрипте.
Я указал абсолютное значение пути Java в переменных среды в свойствах узла, как показано ниже.
JAVA_HOME
C:\Program Files\Java\jdk-17
И это сработало