我有Juno的Groovy-Eclipse,但我的Groovy类无法识别任何注释。我收到Groovy:class Translation is not an annotation in @Translation
。或Groovy:class Override is not an annotation in @Override
例如:
import somewhere.Translation
@Translation(translationContext = TranslationContext.SOMETHING)
class SOMECLASS extends SOMETHING {
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Translation {
此处所有注释@Target,@Retention
和@interface
正在编译Translation
我的项目库中包含了所有的罐子。我在这里缺少什么?
答案 0 :(得分:1)
看起来您已为Java 1.4或更早版本配置了项目/工作区。由于源级别不允许,因此无法识别注释。
转到项目 - >属性 - > Java编译器。启用项目设置并将合规性级别设置为1.5或更高版本。
答案 1 :(得分:0)
import java.lang.annotation.*;
吗?translationContext
是否定义为@interface
?Translation
是否正确,并且没有重复项。此代码在groovy控制台中适用于我:
@Translation
class A{
def meth = { print "HzzzI" }
}
@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)
public @interface Translation {
}
A a = new A();
a.meth()