Intellij Idea 如何让IntelliJ将Gradle源与build.gradle关联?

hgb9j2n6  于 2023-04-05  发布在  其他
关注(0)|答案(5)|浏览(282)

在为我的Java项目编写Gradle脚本时,特别是在编写 build.gradle 文件时,IntelliJ无法识别Gradle API。
例如,像applydependenciesconfigure这样的Gradle方法调用在它们下面显示一条黑线,并且无法导航到方法声明,没有自动完成等。
我设法通过将compile gradleApi()添加到构建的dependencies块来解决这个问题。
我尝试编辑IntelliJ的项目结构,并在模块中添加对Gradle库的依赖(尝试了 gradle-coregradle-all),但似乎没有效果。
有没有办法让IntelliJ将所有 build.gradle 文件与Gadle源代码关联起来?

5jdjgkvh

5jdjgkvh1#

在导入项目之前,请按照此处的说明将其配置为使用可自定义的gradle Package 器:-
https://docs.gradle.org/current/userguide/gradle_wrapper.html
添加一个任务到你的顶级项目,像这样:

task wrapper(type: Wrapper) {
    println "Wrapper gradleVersion = '2.12'"
    gradleVersion = '2.12'
}

不管最新版本是什么。
在尝试导入intelliJ之前,请确保您可以使用./gradlew命令从gradle命令行构建项目,该命令将在您第一次构建时为您下载并安装gradle发行版。
在你的机器和intelliJ中设置你的java home,intelliJ home和gradle home变量(我的看起来像这样,你的可能会有所不同,这取决于你的设置和你在机器周围的黑客历史...:-
(from.巴什尔c

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home

导入时,选择可自定义的gradle Package 器。如果一切正常,当您打开项目的顶级build.gradle时,系统会要求您为gradle dsl配置源代码,这也会将gradle Package 器属性文件更新为:-

#Thu Mar 31 14:04:00 BST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-all.zip

..从...bin.zip到all.zip的变化。就是这样。这已经给了我很长一段时间的悲伤,但这就是做到这一点的方法。(至少在IntelliJ IDEA 2016.1 CE上...)
大多数这是在Dimitry's答案太,但我不能让它工作使用默认的 Package ,它必须是可定制的 Package 。

1szpjjfi

1szpjjfi2#

如果您有代理后台的互联网,则需要在gradle.properties中添加以下代码:

systemProp.http.proxyHost=[Address like 127.0.0.1]
systemProp.http.proxyPort=[port_number like 8080]
systemProp.https.proxyHost=[Address like 127.0.0.1]
systemProp.https.proxyPort=[port_number like 8080]

related topic

svujldwt

svujldwt3#

我解决这个问题如下:
1.正如已经发布的答案中提到的,configure gradle

  • 更新gradle/wrapper/gradle-wrapper.properties文件

将distributionUrl中的bin更改为all,即
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
[可选]如果您使用的是旧版本的gradle wrapper并希望升级,则执行

./gradlew wrapper --gradle-version 6.8.3 --distribution-type all
wrapper {
    gradleVersion = '6.8.3'
    distributionType = Wrapper.DistributionType.ALL
}

1.在将项目导入IntelliJ-Idea IDE之前,更新build.gradle并将javaidea插件添加到插件列表中

plugins {
    id "java-library"
    id "idea"
}

1.从终端执行./gradlew clean build idea或简单地执行./gradlew idea
1.将项目导入IntelliJ idea。
转到Preferences--〉build,Execution,Deployment--〉BuildTools--〉Gradle
可以看到x1c 0d1x
1.重新启动IntelliJ idea IDE。
上面我们已经配置了这两个选项,所以选择其中一个,除了指定的位置选项。就是这样。

之前

之后

this回答中提到的自动完成功能。

niknxzdl

niknxzdl4#

Grails3在创建应用程序时定义并运行一个 Package 器任务,在 Package 器属性文件中更改为“all”zip不起作用,因为它一直被更改为“bin”zip。
当我们理解“gradle-wrapper.properties“文件只是存储来自“wrapper”任务的值时,这个问题就解决了,如果这个任务在属性被更改后运行,它们就会被更改回来。
这可以通过在 Package 器任务上设置一些属性来轻松解决:

wrapper.gradleVersion='3.2.1'
wrapper.distributionType=Wrapper.DistributionType.ALL

现在,将项目导入IDEA可以智能编辑build.gradle。

xmjla07d

xmjla07d5#

在IDEA中选择build.gradle并打开它时,IDE提示

You can configure Gradle wrapper to use distribution with sources. It will provide IDE with Gradle API/DSL documentation.

我选Ok, apply suggestion!
项目刷新后,我可以使用代码完成

相关问题