1

我有用于 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
我的项目库中包含了所有的 jar。我在这里想念什么?

4

3 回答 3

1

看起来您的项目/工作区配置为 Java 1.4 或更早版本。由于源级别不允许注释,因此无法识别注释。

转到项目 -> 属性 -> Java 编译器。启用项目设置并将合规级别设置为 1.5 或更高版本。

于 2012-08-04T03:26:28.290 回答
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()
于 2012-08-03T17:32:21.983 回答
0

我遇到了同样的问题。我的 Eclipse IDE 强调了注释,但代码工作正常!试着运行它。对我来说就是这样。希望这也适合你)

于 2018-02-25T21:50:54.513 回答