Seb*_*rot 62 java groovy intellij-idea gradle build.gradle
我有一个Gradle文件,每当我在IntelliJ IDEA 14.1.5中加载它时,它会显示整个文件的IDE错误.即所有错误似乎都是:
java.lang.String错误
要么
groovy.lang.Closure错误
我已经尝试清除文件的内容,只写了顶行:
group 'com.me.blah'
Run Code Online (Sandbox Code Playgroud)
但即便如此也会导致错误.
出于上下文的考虑,这是一个更大的SpringBoot项目中的单个模块.该模块是一组简单的静态文件(使用Gradle进行CSS编译,静态分析等),其余的是Java模块,并且没有 Gradle问题.
任何人都可以想到为什么IntelliJ会努力理解这个Gradle文件?
Jon*_*ols 39
我经常注意到这一点.在创建新项目并使用"Gradle"模板时,IntelliJ似乎完全没错.所以我要做的就是在创建一个新项目之后,删除.idea和.iml文件并直接从Gradle文件重新打开项目.IntelliJ似乎更好地理解了这种情况下发生了什么.
小智 21
对于问题的第一部分:group
是一个属性,所以必须有一个赋值,而不是一个函数调用.正确的代码是:
group = 'com.me.blah'
Run Code Online (Sandbox Code Playgroud)
FGr*_*reg 15
我在IDEA错误跟踪器(IDEA-142683)中找到了这个建议:
解决方法:
可以添加注释
//noinspection GroovyAssignabilityCheck
以抑制警告,但这不是必需的,因为这些是Gradle每天使用的标准.
此问题最近已更新,已标记为已修复,已准备好在2016.2版本发布时发布.
最近在windows上发生在我身上。我尝试了以上所有方法,但没有成功。
我做了什么:
1 - 我已经设置了 JAVA_HOME 环境变量。因此 IDEA 选择了它作为项目 SDK,并且出现了这些警告。
2 - 因此,我从项目 SDK 中删除了默认的 JAVA_HOME 并手动添加了 jdk 路径。重新启动,所有警告都消失了。
也许它会对某人有所帮助。谢谢。
小智 6
我发现这个警告来自于对 Intelliji 的 Groovy 检查。因此,如果您的项目不是纯 groovy,您可以通过转到文件 -> 设置 -> 编辑器 -> 检查 -> 禁用 Groovy 来禁用此检查。同样,这只是一种解决方法。
对于任何寻找类似修复程序的人来说,这归结为模块的类型.我的模块在我的.iml文件中定义为
type="WEB_MODULE"
Run Code Online (Sandbox Code Playgroud)
我创建了一个新的Gradle模块并粘贴在相同的内容中,删除了原始模块,将新模块重命名为与旧模块同名,一切正常.当我对结果进行差异化时,唯一的变化是.iml文件现在说:
type="JAVA_MODULE"
Run Code Online (Sandbox Code Playgroud)
所以答案似乎就是这样.将模块从"web"更改为"java".