JAVA HOME не определен правильно (только из jenkins)

попытка настроить Дженкинса, но мои сборки не удается с:

$ ant test
Error: JAVA_HOME is not defined correctly.
  We cannot execute /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Build step 'Invoke Ant' marked build as failure

Если я вручную запускаю "ant test" на машине, он работает просто отлично, и JAVA_HOME имеет то же самое значение. Есть идеи, почему он терпит неудачу, когда Дженкинс пытается запустить его ? Есть ли еще какая-либо изменяемая среда ( я не мог ее видеть ) ?

4 ответов


для других я должен был добавить PATH /usr/bin/ к моей переменной пути в Дженкинсе. (Найдите правильный путь, используя which java).

Дженкинс > Manage Jenkins>Configure System

добавить Environment Variable >>

e.g:

название: PATH
Значение:/usr/local/bin/:/usr/bin/

скриншоты

enter image description here


проблема заключалась в том, что я забыл установить флажок "ограничить, где этот проект может быть запущен" в конфигурации проекта. Таким образом, тестирование пыталось выполнить на "master", где JAVA_HOME не был таким же, как ожидалось на исполнителе сборки, я намеревался запустить его. Таким образом, где я тестировал и где он действительно работал, были разные машины.


Set JAVA_HOME в вашей системной конфигурации Jenkins в Jenkins 2.107.1.


для меня вышеперечисленные опции не помогли, решив создать ссылку на то, что спросили:

sudo ln -s ${actual_java_location} /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

actual_java_location можно прочитать следующим образом:

 readlink -f $(which java)