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/
скриншоты
проблема заключалась в том, что я забыл установить флажок "ограничить, где этот проект может быть запущен" в конфигурации проекта. Таким образом, тестирование пыталось выполнить на "master", где JAVA_HOME не был таким же, как ожидалось на исполнителе сборки, я намеревался запустить его. Таким образом, где я тестировал и где он действительно работал, были разные машины.
для меня вышеперечисленные опции не помогли, решив создать ссылку на то, что спросили:
sudo ln -s ${actual_java_location} /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
actual_java_location можно прочитать следующим образом:
readlink -f $(which java)