Intellij Idea не может выполнить git pre-push hook - PullRequest
0 голосов
/ 19 июня 2019

Я бы хотел выполнить ловушку git pre-push из IntelliJ IDEA. Git pre-push hook может выполнять через терминал, но не из IntelliJ IDEA.

Я разместил консоль контроля версий: enter image description here И его поговорка JAVA_HOME не установлена.

Используемые версии

Java : 1.8.0_211
IntelliJ IDEA : IntelliJ IDEA 2019.2 EAP (Ultimate Edition), Build #IU-192.4787.16
Ubuntu : 18.04
Git : 2.17.1

Скрипт Git pre-push hook

source ~/.bash_profile
remote="$1"
url="$2"
echo “Running Tests”
pwd
./gradlew test
exit $?

Я не понимаю, где именно проблема, и как я могу решить эту проблему?

1 Ответ

0 голосов
/ 19 июня 2019

Проблема заключается в том, что в среде, в которой запускается ловушка, не определена переменная JAVA_HOME. Среда наследуется от родительского процесса, поэтому в зависимости от того, как и когда запускается IntelliJ, его environemnt

Самый простой способ решить эту проблему - определить JAVA_HOME в самом хуке (или, может быть, в .bash_profile), например, добавив в него export JAVA_HOME=<PATH to your Java Home>.Таким образом, переменная будет установлена ​​во время выполнения ловушки, и gradlew не завершится с ошибкой.

...