java - Intellij Idea 无法执行 git pre-push hook

标签 java git intellij-idea githooks intellij-plugin

我想从 IntelliJ IDEA 执行 git pre-push hook。 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 预推送 Hook 脚本

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

我不知道问题到底出在哪里以及如何解决这个问题?

最佳答案

问题是钩子(Hook)运行的环境中没有定义 JAVA_HOME 变量。该环境是从父进程继承的,因此根据 IntelliJ 的启动方式和时间,它的环境

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

关于java - Intellij Idea 无法执行 git pre-push hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56660929/

相关文章:

git - 从原点 pull 时 "git pull"命令之间的差异?

java - 运行 gradle "war"不包括依赖的 intellij 项目

java - 错误 : Could not find or load main class cucumber. cli.Main

java - 如何在 Spring Boot 应用程序中处理来自外部 api 的大量响应

java - 无法将条目强制转换为 javax.xml.bind.JAXBElement

java - 像oracle中的搜索一样吗?

git - 如何强制 git 始终使用 master 分支?

java - 从已排序的双向链表创建二叉搜索树

visual-studio-2010 - 在 Visual Studio 的包管理器控制台中使用 git

java - 使用 Git 查找 TODO 的日期