Groovy и аннотации - что не так с этим примером? - PullRequest
1 голос
/ 08 апреля 2010

Согласно Гийому Лафоржу , в Groovy 1.6.1 (и я бы предположил более поздние версии) можно определять аннотации непосредственно в Groovy. Тем не менее, я не могу понять простой пример ниже. Я пытаюсь запустить это в версии Groovy 1.7.1:

@Bar
@Foo
class A { }

@interface Bar { }
@interface Foo { }

for(ann in new A().getClass().getAnnotations())
{
    println ann
}

При запуске этого примера консоль печатает

@org.codehaus.groovy.classgen.GroovyCompilerVersion(value=1.7.1)

и ничего больше. Что я тут не так делаю?

Смежный вопрос .

1 Ответ

1 голос
/ 08 апреля 2010

Итак, я понял это.Это было связано с политикой хранения, которую я по глупости забыл (проводя большую часть своих дней в C #).

Добавление политики исправит это, например:

@Retention(RetentionPolicy.RUNTIME)
@interface Bar { } 
...