IntelliJ IDEA和Gradle -无法应用于“(groovy.lang.Closure)”

gkn4icbw  于 5个月前  发布在  IntelliJ IDEA
关注(0)|答案(9)|浏览(78)

我有一个Gradle文件,每当我在IntelliJ IDEA 14.1.5中加载打开它时,都会显示整个文件的IDE错误。即所有错误似乎都是:

java.lang.String错误

x1c 0d1x的数据

groovy.lang.闭包错误



我已经尝试清除文件的内容,只写最上面的一行:

group 'com.me.blah'

字符串
但即使这样也会导致错误。
出于上下文的考虑-这是一个较大的SpringBoot项目中的单独模块。该模块是一组简单的静态文件(使用Gradle进行CSS编译,静态分析等),而其余的是Java模块,并且 * 没有 * Gradle问题。
有人能想到为什么IntelliJ会努力理解这个Gradle文件吗?

zynd9foi

zynd9foi1#

我经常注意到这一点。当创建一个新项目并使用“Gradle”模板时,IntelliJ似乎完全搞错了。所以我采取的方法是在创建一个新项目后,删除.idea和.iml文件,然后直接从Gradle文件重新打开项目。IntelliJ似乎更好地理解这种情况下发生了什么。

v9tzhpje

v9tzhpje2#

对于问题的第一部分:group是一个属性,所以必须有一个赋值,而不是一个函数调用。正确的代码是:

group = 'com.me.blah'

字符串

unftdfkk

unftdfkk3#

我在IDEA bug tracker(IDEA-142683)中找到了这个建议:
解决方法:
可以添加注解,例如
第一个月
以抑制警告,但这不应该是必要的,因为这些是标准的日常Gradle用法。
此问题最近已更新,并标记为已修复,可随2016.2版发布。

ql3eal8s

ql3eal8s4#

尝试文件|无效缓存并重新启动。它为我工作后,我混乱的语法在文件中的其他地方。

3ks5zfa0

3ks5zfa05#

对于任何寻找类似修复的人来说,这归结为模块的类型。

type="WEB_MODULE"

字符串
我创建了一个新的Gradle模块,并粘贴了相同的内容,删除了原来的模块,重命名了新模块,使其与旧模块同名,一切正常。当我改变结果时,唯一的变化是.iml文件现在说:

type="JAVA_MODULE"


看来答案就在这里了,把你的模块从“web”改成“java”。

ztmd8pv5

ztmd8pv56#

对我来说,在尝试了所有这些答案都没有结果之后,改变项目的Java SDK就成功了,我在1.8上,并将其更改为最新的,但仍然是项目级语言8。
希望这有帮助!

9rbhqvlz

9rbhqvlz7#

我发现这个警告来自于Groovy对Intelliji的检查。所以如果你的项目不是纯groovy的,你可以通过File -> settings -> Editor -> Inspections -> disable Groovy来禁用这个检查。同样,这只是一个解决办法。

w8ntj3qf

w8ntj3qf8#

我最近在windows上遇到了这种情况。我尝试了以上所有方法,但都不起作用。

我做了什么:

1 -我已经设置了JAVA_HOME环境变量。所以IDEA选择它作为项目SDK,然后出现了这些警告。
2 -所以,我从项目SDK中删除了默认的JAVA_HOME,手动添加了jdk路径。重新启动,所有警告都消失了。
或许能帮上忙。谢谢。

jc3wubiy

jc3wubiy9#

我不知道是什么原因导致了这个问题,但是将JDK Corretto-17更新到Amazon Corretto-17.0.9解决了这个问题。

相关问题