Intellij Idea无法执行git pre-push hook

时间:2019-06-19 06:00:59

标签: java git intellij-idea githooks intellij-plugin

我想从IntelliJ IDEA执行git pre-push钩子。 Git预推钩子可以通过终端执行,但不能通过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预推钩子脚本

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

我没有确切知道问题出在哪里,如何解决此问题?

1 个答案:

答案 0 :(得分:0)

问题是在运行挂钩的环境中没有定义JAVA_HOME变量。该环境是从父进程继承的,因此取决于IntelliJ的启动方式和启动时间,

解决此问题的最简单方法是在挂钩本身(或可能在.bash_profile中)中定义JAVA_HOME,例如通过在其中添加export JAVA_HOME=<PATH to your Java Home>。这样,将在挂钩执行期间设置变量,并且gradlew不会失败。