我正在尝试将一个Gradle项目导入IntelliJ,但是当我到达Gradle Home
文本框时,它没有自动填充,输入Gradle Home
路径也无法得到有效的位置 - 我设置了GRADLE_USER_HOME
环境变量(我认为是!)正确的路径,并且我已经成功地将相同的项目导入到Eclipse中。有什么建议吗?
我正在尝试将一个Gradle项目导入IntelliJ,但是当我到达Gradle Home
文本框时,它没有自动填充,输入Gradle Home
路径也无法得到有效的位置 - 我设置了GRADLE_USER_HOME
环境变量(我认为是!)正确的路径,并且我已经成功地将相同的项目导入到Eclipse中。有什么建议吗?
您可以编写一个简单的Gradle脚本来打印您的GRADLE_HOME
目录。
task getHomeDir {
doLast {
println gradle.gradleHomeDir
}
}
并将其命名为build.gradle
。
然后使用以下命令运行:
gradle getHomeDir
如果您使用Homebrew安装,请使用brew info gradle
查找基本路径(例如/usr/local/Cellar/gradle/1.10/
),然后只需附加libexec
。build.gradle.kts
,则可以通过Kotlin执行相同的任务。tasks.register("getHomeDir") {
println("Gradle home dir: ${gradle.gradleHomeDir}")
}
/usr/share/gradle
是该Gradle脚本的输出目录。 - Arthur/usr/share/java/gradle
。 - SirWojtek通过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"``如果有人能简化一下,那就更好了 :) - mlo55export GRADLE_HOME=$(realpath $(brew --prefix gradle))/libexec
- delitescerewhich gradle
呢? - Mike Youngexport GRADLE_HOME="$(brew --prefix gradle)/libexec/"
。如果您正在使用brew,请在osx上比较ls "$(brew --prefix gradle)/libexec/"
和ls "$(which gradle)/libexec/"
。 - mlo55/usr/local/Cellar/gradle/X.X/libexec
X.X是gradle的版本号(当前为2.1)。
这是我解决导入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版本
以下示例来自JetBrains: https://www.jetbrains.com/help/idea/gradle-settings.html
(如果您不想在项目之间共享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.
C:\Users\<_用户名>\.gradle\wrapper\dists\gradle-<_版本号>-all\<_随机数字>\gradle-<_版本号>
\Android studio\gradle 对我不起作用。
并且在从bitbucket导入(克隆)项目时未配置“默认gradle wrapper”。
如果很难找到路径,请使用我的路径:
C:\Users\prabs\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1
$GRADLE_HOME
来解决问题。以下是具体步骤:
$PATH
变量:
export GRADLE_HOME=/usr/local/opt/gradle/libexec
export PATH=$GRADLE_HOME/bin:$PATH
source .bash_profile
应用更改。/usr/local/opt/gradle/libexec
是一个符号链接指向 /usr/local/Cellar/gradle/4.7/libexec
。如果 Gradle 版本将被更新,符号链接也将自动更新。话虽如此,使用 /usr/local/opt/gradle/libexec
仍然更安全。如果我有错误的话请纠正我。 - skryvets/Applications/Android Studio.app/Contents/gradle/gradle-2.14.1
(将版本字符串替换为最新版本)。ls -d "/Applications/Android Studio.app/Contents/gradle"/*
- MarkHu/opt/local/share/java/gradle