无法在Scala类中引用Java注释

时间:2014-02-17 01:20:57

标签: java scala annotations

我有一个scala类,它给出了编译器错误

error: expected start of definition
Hello.scala:23: error: expected start of definition
class Hello extends Baz {

我认为原因是由于我从预编译的java库中引用了一个注释。 scala代码的简化版本如下:

import com.xx.{
  Bar,
  Baz
}

@Bar(value = "XX", description = "xx")

class Foo extends Baz {
}

java代码是:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

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

  String value() default "";
  String description() default "";
}

我正在使用Scala 2.10.3。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

你不应该在注释和类定义之间放置空行,这个应该有效:

import com.xx.{Bar,Baz}

@Bar(value = "XX", description = "xx")
class Foo extends Baz {
}