我有一个Gradle文件,每当我在IntelliJ IDEA 14.1.5中加载它时,它会显示整个文件的IDE错误。即所有错误似乎都是:
java.lang.String错误
或
groovy.lang.Closure错误
我已经尝试清除文件的内容,只写了第一行:
group 'com.me.blah'
但即使这会导致错误。
出于上下文的考虑,这是一个更大的SpringBoot项目中的单个模块。这个模块是一组简单的静态文件(使用Gradle进行CSS编译,静态分析等),其余的是Java模块,并且不有Gradle问题。
有人能想到为什么IntelliJ会难以理解这个Gradle文件吗?
答案 0 :(得分:33)
我经常注意到这一点。在创建新项目并使用“Gradle”模板时,IntelliJ似乎完全没错。所以我要做的就是在创建一个新项目之后,删除.idea和.iml文件并直接从Gradle文件重新打开项目。 IntelliJ似乎更好地理解了这种情况下发生了什么。
答案 1 :(得分:17)
对于问题的第一部分:group
是属性,因此必须有赋值,而不是函数调用。正确的代码是:
group = 'com.me.blah'
答案 2 :(得分:12)
我在IDEA错误跟踪器(IDEA-142683)中找到了这个建议:
解决方法:
可以添加诸如
的评论//noinspection GroovyAssignabilityCheck
抑制警告,但这不应该是必要的,因为这些是Gradle每天使用的标准。
此问题最近已更新,已标记为已修复,已准备好在2016.2版本发布时发布。
答案 3 :(得分:5)
对于任何寻找类似修复程序的人来说,这归结为模块的类型。我的模块在我的.iml文件中定义为
type="WEB_MODULE"
我创建了一个新的Gradle模块并粘贴在相同的内容中,删除了原始模块,将新模块重命名为与旧模块同名,一切正常。当我对结果进行分析时,唯一的变化是.iml文件现在说:
type="JAVA_MODULE"
所以答案似乎就是这样。将模块从“web”更改为“java”。
答案 4 :(得分:5)
尝试文件|使高速缓存无效并重新启动。在我将文件中的其他语法弄乱后,它对我有用。
答案 5 :(得分:3)
对我来说,尝试所有这些答案都没有结果之后,更改项目的Java SDK可以解决问题,我使用的是1.8版本,并将其更改为最新版本,但仍然是8级项目级别的语言。
希望这会有所帮助!
答案 6 :(得分:2)
我发现这个警告来自对Intelliji的Groovy检查。因此,如果您的项目不是纯粹的groovy,您可以通过转到File - >来禁用此检查。设置 - >编辑 - >检查 - >禁用Groovy。再一次,只是一个解决方法。
答案 7 :(得分:1)
最近在Windows上发生了我的事。我尝试了以上所有但是它没有用。
我做了什么:
1 - 我已经设置了JAVA_HOME环境变量。所以IDEA选择了那个项目SDK并且出现了这些警告。
2 - 所以,我从项目SDK中删除了默认的JAVA_HOME并手动添加了jdk路径。重新启动,所有警告都消失了。
也许它会帮助某人。感谢。