我遇到一个奇怪的错误,使我整个早晨都挂断了电话。我有一个带有Person类的Grails应用程序,如下所示:

class Person {
        String id
    Date   lastUpdated
    String note
    String lastName
    String firstName
    String middleName
    String facility
    ...
}

在我的 Controller 中,我有一个闭包来获取模型:
def personDetail = {
    Person person = new Person()
    ...
    List<Person> personSearchList = session.getAttribute("searchResults")
    Person selectedSearchPerson = selectedSearchPersonList.find { it.id == selectedID }
    person.firstName = selectedSearchPerson.firstName
    person.lastName = selectedSearchPerson.lastName
    person.middleName = selectedSearchPerson.middleName
    person.facility = selectedSearchPerson.facility
    ...
    return [person:person]
}

现在,此代码昨天运行良好。但是今天早上,没有进行任何修改(我什至尝试还原为较早的svn提交),当我单击g:link以显示detailController gsp时,出现以下错误:
groovy.lang.MissingPropertyException: No such property: facility for class: org.icf.Person
at org.bjc.icf.DetailController$_closure3.doCall(DetailController.groovy:33)
at org.bjc.icf.DetailController$_closure3.doCall(DetailController.groovy)
at java.lang.Thread.run(Thread.java:619)

我尝试查找可能导致在线错误的解决方案,但似乎什么也找不到。有谁知道为什么我突然可能在以前的工作代码上得到MissingPropertyExceptions(是的,我已经检查以确保该属性仍在类中)。

最佳答案

尝试运行grails clean-有时增量编译会失败,因此强制进行完全编译通常会消除此类奇怪的问题。

09-29 22:44