Groovy: видимая переменная xyz была обнаружена в статической области видимости, но не ссылается на локальную переменную, статическое поле или класс. Возможные причины:

Я получаю эту "ошибку" в Spring Tool Suite для всех классов моего домена. Это на самом деле не ошибка, потому что он компилируется нормально. Но он маскирует реальные ошибки компиляции, как я могу от него избавиться? Они находятся в одном пакете, поэтому мне не нужен импорт, если я добавляю импорт, он говорит, что не может найти класс...

Таким образом, следующий код производит красный х

Groovy: видимая переменная ExampleB обнаружена в статической области видимости, но не ссылается на локальную переменную, статическое поле или класс. Возможные причины:

package domain.com.so;

class ExampleA {
    static belongsTo  = [exampleB: ExampleB]
    static constraints = {
    }
}

И этот код выдает ошибку:

Groovy: видимая переменная "ExampleA" найдена в статической области видимости, но не ссылается на локальную переменную, статическое поле или класс. Возможные причины:

package domain.com.so;

class ExampleB {
    static hasMany  = [exampleAs: ExampleA]
    static constraints = {
    }
}

2 ответа

Решение

Обычно, когда STS жалуется что-то вроде этого, я бегу

grails clean 

а также

grails compile --refresh-dependencies

Это происходит довольно часто, когда я делаю изменения в статических элементах, и динамическая перезагрузка включена во время работы приложения. Я считаю, что мне нужно удалить и повторно добавить проект в рабочую область. Это похоже на то, что метаданные проекта находятся в "застрявшем" состоянии, когда ошибка произошла во время выполнения.

Другие вопросы по тегам