在为我的Java项目编写Gradle脚本时,特别是在编写 build.gradle 文件时,IntelliJ无法识别Gradle API。
例如,像apply
,dependencies
configure
这样的Gradle方法调用在它们下面显示一条黑线,并且无法导航到方法声明,没有自动完成等。
我设法通过将compile gradleApi()
添加到构建的dependencies
块来解决这个问题。
我尝试编辑IntelliJ的项目结构,并在模块中添加对Gradle库的依赖(尝试了 gradle-core 和 gradle-all),但似乎没有效果。
有没有办法让IntelliJ将所有 build.gradle 文件与Gadle源代码关联起来?
5条答案
按热度按时间5jdjgkvh1#
在导入项目之前,请按照此处的说明将其配置为使用可自定义的gradle Package 器:-
https://docs.gradle.org/current/userguide/gradle_wrapper.html
添加一个任务到你的顶级项目,像这样:
不管最新版本是什么。
在尝试导入intelliJ之前,请确保您可以使用./gradlew命令从gradle命令行构建项目,该命令将在您第一次构建时为您下载并安装gradle发行版。
在你的机器和intelliJ中设置你的java home,intelliJ home和gradle home变量(我的看起来像这样,你的可能会有所不同,这取决于你的设置和你在机器周围的黑客历史...:-
(from.巴什尔c
)
导入时,选择可自定义的gradle Package 器。如果一切正常,当您打开项目的顶级build.gradle时,系统会要求您为gradle dsl配置源代码,这也会将gradle Package 器属性文件更新为:-
..从...bin.zip到all.zip的变化。就是这样。这已经给了我很长一段时间的悲伤,但这就是做到这一点的方法。(至少在IntelliJ IDEA 2016.1 CE上...)
大多数这是在Dimitry's答案太,但我不能让它工作使用默认的 Package ,它必须是可定制的 Package 。
1szpjjfi2#
如果您有代理后台的互联网,则需要在gradle.properties中添加以下代码:
related topic
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并希望升级,则执行
1.在将项目导入IntelliJ-Idea IDE之前,更新
build.gradle
并将java
和idea
插件添加到插件列表中1.从终端执行
./gradlew clean build idea
或简单地执行./gradlew idea
1.将项目导入IntelliJ idea。
转到
Preferences
--〉build,Execution,Deployment
--〉BuildTools
--〉Gradle
可以看到x1c 0d1x
1.重新启动IntelliJ idea IDE。
上面我们已经配置了这两个选项,所以选择其中一个,除了指定的位置选项。就是这样。
之前
之后
this回答中提到的自动完成功能。
niknxzdl4#
Grails3在创建应用程序时定义并运行一个 Package 器任务,在 Package 器属性文件中更改为“all”zip不起作用,因为它一直被更改为“bin”zip。
当我们理解“gradle-wrapper.properties“文件只是存储来自“wrapper”任务的值时,这个问题就解决了,如果这个任务在属性被更改后运行,它们就会被更改回来。
这可以通过在 Package 器任务上设置一些属性来轻松解决:
现在,将项目导入IDEA可以智能编辑build.gradle。
xmjla07d5#
在IDEA中选择
build.gradle
并打开它时,IDE提示我选
Ok, apply suggestion!
项目刷新后,我可以使用代码完成