我试图将一个Gradle项目导入IntelliJ,当我到达Gradle Home文本框时,它不会自动填充,也不会在Gradle Home的路径中输入一个有效的位置-我有GRADLE_USER_HOME环境变量设置(我认为是什么!)正确的路径,我已经能够成功地将这个项目导入Eclipse。有什么建议吗?


当前回答

我有一些奇怪的错误,它找不到我的类,我必须右键单击我的src文件夹(是红色的),“使目录为”->源文件夹根

其他回答

如果使用MacPorts,路径为

/opt/local/share/java/gradle

我必须在选择gradle路径之前设置项目SDK。一旦设置正确,我必须在“从gradle导入项目”对话框中选择“使用默认的gradle包装器(推荐)”。

如果我使用brew删除gradle仍然有效:

$ brew remove gradle

假设它是GRADLE_HOME而不是GRADLE_USER_HOME(见gradle安装http://www.gradle.org/installation)。

另一方面,我在Idea 13 Cardea中使用了一些Gradle支持,我认为Gradle home不会被Idea自动发现。如果是这样,你可以在你的跟踪中提交一个问题。

同样,如果你使用gradle 1.6+,你可以使用graddle支持来设置构建和包装器。我认为自动发现包装基于gradle项目的想法。

$ gradle setupBuild—type java-library

$ gradle包装器

注意:支持的库类型:basic、maven、java

问候

这帮助我解决了导入Gradle项目时没有为IDEA设置Gradle home的问题。

3个选项——(A)默认包装器(B)“gradle 'wrapper'任务配置”或(C)“本地gradle分布”由jetbrains定义: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

(如果你不想在项目之间共享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.

IDEA现在应该允许您点击OK

你可以写一个简单的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}")
}