Groovy MissingPropertyException在最终静态属性上

Groovy MissingPropertyException在最终静态属性上,groovy,properties,static,Groovy,Properties,Static,我得到的例外是: groovy.lang.MissingPropertyException: No such property: EISBN for class: de.hbznrw.ygor.export.structure.TitleStruct Possible solutions: EISSN, ISSN, PISSN at groovy.lang.MetaClassImpl.invokeStaticMissingProperty(MetaClassImpl.java:1007) a

我得到的例外是:

groovy.lang.MissingPropertyException: No such property: EISBN for class: de.hbznrw.ygor.export.structure.TitleStruct
Possible solutions: EISSN, ISSN, PISSN
  at groovy.lang.MetaClassImpl.invokeStaticMissingProperty(MetaClassImpl.java:1007) at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1862) 
  at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1155) 
  at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1838) 
  at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1155) 
  at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3763) 
  at groovy.lang.ExpandoMetaClass.getProperty(ExpandoMetaClass.java:1167) 
  at org.codehaus.groovy.runtime.callsite.ClassMetaClassGetPropertySite.getProperty(ClassMetaClassGetPropertySite.java:51) ...
守则如下:

这不是很奇怪吗?其中一个
final static
属性(
EISBN
)被“驳回”,我找不到任何原因,而另外三个属性作为解决方案提供(
EISSN
PISSN
ISSN
)。尽管如此,代码中属性的处理方式绝对没有区别。(对于调查性项目:项目为)

显然,第五个属性
DOI
也不是作为解决方案提供的。但这是因为与其他三个属性相比,拼写差异更大。我可以看到它存在于调试器中。(
EISBN
在调试器中不可见。)

更重要的是,同样的代码正在我同事的电脑上运行——而且以前也在我的电脑上运行过。这个例外突然发生了。因此,我假设问题位于编译器区域


所以,我的问题是:有没有人经历过类似的问题?有什么建议吗?非常感谢,伙计们

一旦是grails,每个类都有一个动态增量编译

这种行为是有可能的


尝试清理并重建整个项目。

您如何访问此属性?您描述了一种异常情况,根据您提供的信息无法重新创建。您得到的完整堆栈跟踪是什么?(因此我们可以看到哪个调用启动了错误链)。发生此错误的确切情况是什么?应用程序发生时的状态是什么?努力提供。应用程序的源代码可能会有所帮助,但运行它并进行调试听起来不是一个好的选择。@daggett访问是由以下操作触发的:
if(!type.equals(TitleStruct.DOI)&&&!type.equals(TitleStruct.EISBN)){…}
@SzymonStepniak这也是一个非常简单的代码示例。当我在另一节课上停下来的时候它就被叫来了。但是在我的应用程序中几乎任何地方调用
TitleStruct.EISBN
时都会发生同样的情况(使用调试器测试)。因此,这一定是一个“早期”编译器问题。一旦是grails,每个类都有一个动态增量编译。这种行为是有可能的。尝试清理和重建整个项目。你有这种行为是在战争中还是仅仅在发展模式下?@daggett:这是发展模式。我已经通过
grailsclean
清理了项目,这就解决了它!你介意把你的评论作为回答吗?问题是我以前重建过这个项目,但是没有一个干净的。。。我真丢脸,谢谢你<代码>grails clean是我之前错过的决定性步骤。
class TitleStruct {    
    static final ISSN  = 'issn'
    static final EISSN = 'eissn'
    static final PISSN = 'issn'
    static final EISBN = 'isbn'
    static final DOI = 'doi'

    // plus some getters
}