2010-04-08 3 views
1

Guillaume Laforge에 따르면, Groovy에서 주석을 직접 정의하는 것이 Groovy 1.6.1 (그리고 이후 버전이라고 가정)에서 가능합니다. 그러나 나는 아래의 간단한 예제를 이해할 수 없다. 나는 그루비 콘솔의 1.7.1 버전이 실행하려고 : Groovy 및 주석 -이 예제에서 잘못된 점은 무엇입니까?

@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) 

아무것도 다른이 예제를 실행하는 경우. 여기서 내가 뭘 잘못하고 있니?

Related question.

답변

1

그래서 알아 냈습니다. 그것은 어리석게도 잊어 버렸던 보존 정책과 관련이있었습니다 (C#에서 대부분의 시간을 보냈습니다).

정책을 추가하면이 문제를 해결할 것, 예컨대 :

@Retention(RetentionPolicy.RUNTIME) 
@interface Bar { } 
관련 문제