注释在Groovy类中不起作用

时间:2012-08-03 17:09:09

标签: eclipse groovy

我有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
我的项目库中包含了所有的罐子。我在这里缺少什么?

2 个答案:

答案 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()