2

我在成功构建的父项目中几乎没有自定义 Java 注释。尝试使用 maven 3.xx 构建具有“TestClass”类的测试项目时,会引发编译错误: [ERROR] /C:/Users/.../TestClass.java:[31,1] annotation com。 xxx.annotation.CustomAnnotation 缺少属性 < clinit > 的值

注意事项:

  • 如果我删除 ENUM 或用字符串替换它,它会正确编译。
  • Eclipse 不会抛出任何编译错误,并且可以愉快地构建和运行。

注释示例:(为保密起见,我已更改名称)

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@ABCD(abcd = "value")       
public @interface CustomAnnotation {
   String value();  
   final String xxx = "xxxyyyzzz";
   final EnumA enumA = EnumA.XXX;
   final EnumB enumB = EnumB.YYY;
}

类示例(我已更改名称以保密):

@CustomAnnotation("testclass")
public class TestClass {
   ...
   ...
   ...
 }

有没有人遇到过这样的场景?有什么建议么?

4

1 回答 1

4

将jdk版本升级到1.7.80。我在1.7.79版本中观察到了同样的问题。

于 2016-03-14T12:41:05.777 回答