当我尝试访问在Grails应用程序中继承的变量或方法时,Intellij经常抱怨cannot resolve symbol
。这些应用程序可以编译并正常运行,因此实际上没有任何问题,但是IDE使它看起来像是存在问题。这使得很难弄清何时确实存在问题或我只是得到了误报。作为一个刚接触Grails并尝试学习的人,我发现自己将头撞在墙上,试图修复原来没有损坏的东西。
例如:
class GlobalParamsInterceptor {
def SysConfigService sysConfigService;
GlobalParamsInterceptor() {
matchAll();
}
boolean before() {
true
}
boolean after() {
model.isApplicationOpen = sysConfigService.isApplicationOpen();
model.context = grailsApplication.getMainContext();
true
}
void afterView() {
// no-op
}
}
matchAll()
model
grailsApplication
都标记为未解析的符号,但它们实际上是有效的。我正在使用应该支持Grails的Intellij Ultimate版,因此我认为它应该能够弄清楚这些事情对吗? 最佳答案
总的来说。在某些地方,IDEA无法识别混入某些 Artifact 中的特征,这是一个示例。该代码仍应编译并可以正常运行。我不知道是否特别有针对此功能的功能请求,但我会向IDEA的人提及。