我正在尝试将Gradle项目导入IntelliJ,当我进入Gradle Home
文本框时,它不会自动填充,也不会Gradle Home
在有效位置中输入结果的路径-我设置了GRADLE_USER_HOME
环境变量(我认为是!)正确的路径,并且我已经能够成功地将同一项目导入Eclipse。有什么建议么?
我正在尝试将Gradle项目导入IntelliJ,当我进入Gradle Home
文本框时,它不会自动填充,也不会Gradle Home
在有效位置中输入结果的路径-我设置了GRADLE_USER_HOME
环境变量(我认为是!)正确的路径,并且我已经能够成功地将同一项目导入Eclipse。有什么建议么?
Answers:
您可以编写一个简单的gradle脚本来打印GRADLE_HOME
目录。
task getHomeDir {
doLast {
println gradle.gradleHomeDir
}
}
并命名build.gradle
。
然后运行:
gradle getHomeDir
如果您安装了自制软件,请使用brew info gradle
查找基本路径(即/usr/local/Cellar/gradle/1.10/
),然后追加libexec
。
在Kotlin中,如果您使用build.gradle.kts
以下相同的任务:
tasks.register("getHomeDir") {
println("Gradle home dir: ${gradle.gradleHomeDir}")
}
/usr/share/gradle
是此gradle脚本的输出。
/usr/share/java/gradle
通过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
在shell中调用呢?
export GRADLE_HOME="$(brew --prefix gradle)/libexec/"
按照@delitescene的建议使用。如果您使用brew,请ls "$(brew --prefix gradle)/libexec/"
与ls "$(which gradle)/libexec/"
osx 进行比较。
如果您使用自制软件安装了gradle,则路径为:
/usr/local/Cellar/gradle/X.X/libexec
其中XX是gradle的版本(当前为2.1)
如果使用的是IntelliJ,请执行以下操作。
就这样。
"Use gradle 'wrapper' task configuration"
为我工作
这就是帮助我解决导入Gradle项目时没有为IDEA设置Gradle主页的问题的原因。
三种选择-(A)默认包装器(B)“ gradle'wrapper'任务配置”或(C)jetbrains定义的“本地gradle分发”:https ://www.jetbrains.com/help/idea/gradle-settings .html
A.默认包装器(推荐)
如果可以,请选择此推荐选项。如果显示为灰色,请参阅选项C,然后应为所有后续项目设置默认值。
B. Gradle“包装器”任务配置
如果您想让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)。请参阅/unix/312146/what-is-the-purpose-of-usr-libexec
4. Finally, put that new path in the Gradle home input box if IDEA prompts you.
这仅是针对MAC的指令。我有同样的问题。我通过在中配置解决$GRADLE_HOME
了.bash_profile
。这是您的操作方式:
.bash_profile
(通常位于用户的主目录中)。$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
。如果我错了,请纠正我。
C:\ Users \ <用户名> \。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上,理想情况下应位于: /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家并不是由Idea自动发现的。如果是这样,您可以在youtrack中提出问题。
另外,如果使用gradle 1.6+,则可以使用Graldle支持来设置构建和包装。我认为想法会自动发现基于包装的gradle项目。
$ gradle setupBuild --type java-library
$ gradle包装
注意:支持的库类型:基本,maven,java
问候