我正在尝试将 Gradle 项目导入 IntelliJ,当我进入 Gradle Home
文本框时,它不会自动填充,输入 Gradle Home
的路径也不会导致有效位置 - 我有 GRADLE_USER_HOME
环境变量设置(我认为是!)正确的路径,我已经能够成功地将同一个项目导入 Eclipse。有什么建议么?
您可以编写一个 simple gradle script 来打印您的 GRADLE_HOME
目录。
task getHomeDir {
doLast {
println gradle.gradleHomeDir
}
}
并将其命名为 build.gradle
。
然后运行它:
gradle getHomeDir
如果您使用自制软件安装,请使用 brew info gradle
查找基本路径(即 /usr/local/Cellar/gradle/1.10/
),然后附加 libexec
。
如果您使用 build.gradle.kts
,Kotlin 中的相同任务:
tasks.register("getHomeDir") {
println("Gradle home dir: ${gradle.gradleHomeDir}")
}
通过 Homebrew 安装在 Mac 上,路径
/usr/local/opt/gradle/libexec
最好是
/usr/local/Cellar/gradle/X.X/libexec
因为前者将在版本升级后继续存在。
export GRADLE_HOME=`python -c "import os; print(os.path.realpath('$(which gradle)'))" | xargs dirname | xargs dirname | xargs printf "%s/libexec"`
如果有人可以简化,那也很方便:)
export GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
which gradle
?
export GRADLE_HOME="$(brew --prefix gradle)/libexec/"
。如果您使用 brew,则在 osx 上将 ls "$(brew --prefix gradle)/libexec/"
与 ls "$(which gradle)/libexec/"
进行比较。
如果您使用自制软件安装 gradle,则路径为:
/usr/local/Cellar/gradle/X.X/libexec
其中 XX 是 gradle 的版本(目前是 2.1)
如果您使用 IntelliJ,只需执行以下操作。
关闭项目(重新)打开项目你会在右下角看到“Import gradle project”消息。点击。选择“使用默认的 gradle 包装器”。不是“使用本地 gradle 分发”
https://i.stack.imgur.com/l68gI.png
就这样。
"Use gradle 'wrapper' task configuration"
为我工作 - 知道这意味着什么
这帮助我解决了在导入 Gradle 项目时没有为 IDEA 设置 Gradle home 的问题。
三个选项——(A)默认包装器(B)“gradle 'wrapper' 任务配置”或(C)jetbrains 定义的“本地 gradle 分发”:https://www.jetbrains.com/help/idea/gradle-settings.html
A. 默认包装器(推荐)
如果可以,请选择此推荐选项。如果它是灰色的,请参见选项 C,然后它应该为所有后续项目设置默认值。
B. Gradle 'Wrapper' 任务配置
如果您希望 IDEA 从您的构建脚本中为您定义您的 gradle 版本
如果您将 gradle 构建版本定义为实际 gradle 构建中的任务,请设置此选项。
下面来自 jetbrains 的示例:https://www.jetbrains.com/help/idea/gradle-settings.html
https://i.stack.imgur.com/Yd09d.png
(如果您不想在项目之间共享 gradle 构建,则很有用)
C. 本地 Gradle 分布
1. Run the following command to get gradle location:
brew info gradle (if gradle was installed with homebrew)
2. You are looking for something like this:
/usr/local/Cellar/gradle/4.8.1
3. Next, append 'libexec' to the gradle location you just found:
/usr/local/Cellar/gradle/4.8.1/libexec
这是因为“libexec 将被其他程序执行的其他守护进程和系统实用程序使用”(即 IDEA)。请参阅https://unix.stackexchange.com/questions/312146/what-is-the-purpose-of-usr-libexec
4. Finally, put that new path in the Gradle home input box if IDEA prompts you.
https://i.stack.imgur.com/XnExZ.png
IDEA 现在应该允许你点击 OK
C:\Users\<_username>\.gradle\wrapper\dists\gradle-<_version>-all\<_number_random_maybe>\gradle-<_version>
\Android studio\gradle 对我不起作用。
从 bitbucket 导入(克隆)项目时未配置“默认 gradle 包装器”
如果它导致问题找出路径,这是我的路径:
C:\Users\prabs\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1
这只是 MAC 的说明。我有同样的问题。我通过在 .bash_profile
中配置 $GRADLE_HOME
解决了这个问题。这是你如何做到的:
打开 .bash_profile(通常它位于用户的主目录中)。
添加以下行以更新 $PATH 变量: export GRADLE_HOME=/usr/local/opt/gradle/libexec export PATH=$GRADLE_HOME/bin:$PATH
保存。
通过运行 source .bash_profile 应用您的更改
如果有人遇到同样的问题,我写了 my own article 以防万一。
/usr/local/opt/gradle/libexec
是 /usr/local/Cellar/gradle/4.7/libexec
的符号链接。如果 gradle 版本会更新,符号链接也会自动更新。话虽如此,使用 /usr/local/opt/gradle/libexec
仍然更安全。如果我错了,请纠正我。
在 Mac 上,理想情况下它应该位于:/Applications/Android Studio.app/Contents/gradle/gradle-2.14.1
(将版本字符串替换为最新的)
ls -d "/Applications/Android Studio.app/Contents/gradle"/*
AFAIK 它是 GRADLE_HOME 而不是 GRADLE_USER_HOME(请参阅 gradle 安装 http://www.gradle.org/installation)。
另一方面,我在 Idea 13 Cardea 中使用了 Gradle 支持,我认为 gradle home 不是由 Idea 自动发现的。如果是这样,您可以在 youtrack 中提出问题。
此外,如果您使用 gradle 1.6+,您可以使用 Gradle 支持来设置构建和包装器。我认为idea会自动发现基于包装器的gradle项目。
$ gradle setupBuild --type java-library
$ gradle 包装器
注意:支持的库类型:basic、maven、java
问候
如果您使用的是 MacPorts,则路径为
/opt/local/share/java/gradle
在选择 gradle 路径之前,我必须设置 Project SDK。一旦设置正确,我必须在“从 Gradle 导入项目”对话框中选择“使用默认 gradle 包装器(推荐)”。
如果我使用 brew 删除 gradle 仍然有效:
$ brew remove gradle
https://i.stack.imgur.com/90PbG.png
这是我的 gradle 之家(Arch Linux):
/usr/share/java/gradle/
我遇到了一些奇怪的错误,找不到我的班级,我不得不右键单击我的 src 文件夹(红色)以“将目录设为”-> 源文件夹根目录
单击新建-> 现有源中的项目-> 导入 gradle 项目...
然后 Idea 自动识别了 gradle。
在删除损坏的 JDK 之前,我无法让它接受我的 Gradle JVM 选择
下面的窗口来自 File -> Other Settings -> Structure For New Projects...
https://i.stack.imgur.com/iJ3EF.png
我在这里有一个红色的 1.8 JDK SDK 条目,一旦我删除了下面的 Gradle JVM 错误就消失了,我可以继续下一步
https://i.stack.imgur.com/dynAX.png
如果您使用的是 Mac,您的 gradle home 很可能应该是 /usr/local/gradle-2.0
。
优先于 IDEA 搜索 gradle 并设置 gradle home,如上所述。它应该工作
/usr/share/gradle
是此 gradle 脚本的输出。/usr/share/java/gradle